在 MATLAB 中使用 improfile 时不确定我的代码哪里出了问题
Not sure where my code is going wrong when using improfile in MATLAB
我目前正在编写代码,该代码获取一堆图像并计算这些堆栈的强度分布,以将它们与另一堆图像进行比较。
这是我的代码:
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
是什么意思。
感谢您的回答,请随时提出任何问题,以进一步澄清问题。
虽然这是一条神秘的错误消息,但我认为您提供给 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 代表您指定的点数,您的称呼方式阻碍了这个逻辑。
我目前正在编写代码,该代码获取一堆图像并计算这些堆栈的强度分布,以将它们与另一堆图像进行比较。
这是我的代码:
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
是什么意思。
感谢您的回答,请随时提出任何问题,以进一步澄清问题。
虽然这是一条神秘的错误消息,但我认为您提供给 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 代表您指定的点数,您的称呼方式阻碍了这个逻辑。