Image 不确定在MATLAB中使用Inprofile时我的代码哪里出错了

Image 不确定在MATLAB中使用Inprofile时我的代码哪里出错了,image,matlab,image-processing,matrix,uint,Image,Matlab,Image Processing,Matrix,Uint,我目前正在编写一个代码,它获取一堆图像,并计算这些图像的强度分布,将它们与另一堆图像进行比较 这是我的密码: for i = 1:c_frames d_Img(:,:) = d_I(i,:,:); c_Img(:,:) = c_I(i,:,:); c_d = improfile(d_Img); c_c = improfile(c_Img); end 以下是我得到的一组错误(当然都与一个错误有关): 当我whosd_I和c_I时,我得到的是: 那么这个错误到

我目前正在编写一个代码,它获取一堆图像,并计算这些图像的强度分布,将它们与另一堆图像进行比较

这是我的密码:

for i = 1:c_frames
    d_Img(:,:) = d_I(i,:,:);
    c_Img(:,:) = c_I(i,:,:);
    c_d = improfile(d_Img);
    c_c = improfile(c_Img); 
end
以下是我得到的一组错误(当然都与一个错误有关):

当我
whos
d_I和c_I时,我得到的是:

那么这个错误到底意味着什么呢?我试图查看文档,但我不确定
N
的意思


感谢您的回答,请不要犹豫,提出任何问题,以进一步澄清问题

尽管这是一条神秘的错误消息,但我认为您提供给
取消配置文件
函数的输入集不完整。如果您仔细观察,您会发现
inprofile(n)
语法需要标量'n'(不是图像),这是配置文件中要包含的点数

没有语法只允许传递图像。还必须包括要在其上生成纵断面的线段端点的x和y坐标。比如说,

load mri
D = squeeze(D)
dSlice = D(:,:,16);
x = [19 35 65 77];
y = [96 45 27 33];
improfile(dSlice, x, y)  % x and y are required inputs.
工作。至于错误消息,如果你真的很好奇,试试看

edit improfile

我相信N代表您指定的点数,您对它的调用方式阻碍了这种逻辑。

尽管这是一条神秘的错误消息,但我认为您提供给
不可配置文件
函数的输入集并不完整。如果您仔细观察,您会发现
inprofile(n)
语法需要标量'n'(不是图像),这是配置文件中要包含的点数

没有语法只允许传递图像。还必须包括要在其上生成纵断面的线段端点的x和y坐标。比如说,

load mri
D = squeeze(D)
dSlice = D(:,:,16);
x = [19 35 65 77];
y = [96 45 27 33];
improfile(dSlice, x, y)  % x and y are required inputs.
工作。至于错误消息,如果你真的很好奇,试试看

edit improfile

我相信N代表您指定的点数,您称之为N的方式阻碍了这种逻辑。

出于好奇,我想知道
squere()
在您的
mri
中的实际用途。为什么
inprofile
需要两条线段?挤压用于删除>2D图像中所有前导的单例维度,两个数组是直线的对应坐标。我在“不可配置文件”文档页面中找到了这个例子。出于好奇,我想知道
squeak()
对您的
mri
的实际使用情况。为什么
inprofile
需要两条线段?挤压用于删除>2D图像中所有前导的单例维度,两个数组是直线的对应坐标。我在“不可配置文件”文档页面中选择了这个示例。