在MATLAB中使用improfile时,不确定我的代码出错了

时间:2016-02-01 06:00:42

标签: 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

我得到的是一组错误(当然都与一个错误有关):

enter image description here

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

enter image description here

那么错误究竟是什么意思,我试着查看文档,但我不确定N的含义。

感谢您的回答,请随时提出任何可以进一步澄清问题的问题。

1 个答案:

答案 0 :(得分:2)

虽然这是一个神秘的错误消息,但我认为您提供给improfile函数的输入集并不完整。如果你清楚地看https://www.mathworks.com/help/images/ref/improfile.html,就会发现improfile(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代表你指定的点数,你称之为扼杀这种逻辑。