improfile输出长度不符合输入向量长度

时间:2014-09-21 15:06:32

标签: matlab image-processing binary

我有这个代码画一个由50个点组成的圆圈。我想计算每个点的强度,所以我使用了improfile。

THETA=linspace(0,2*pi,50);  
RHO=ones(1,50)*radius;
[X,Y] = pol2cart(THETA,RHO);
X=X+center(1);
Y=Y+center(2);

C = improfile(BW4,X,Y); % BW4 is a binary thinned image

我知道C必须是一个包含我产生的50点强度的矢量但是当我在工作空间中写出尺寸(C)时,我得到了这个:

>> size(C)

ans =

142     1

我无法理解代码的问题?知道它为什么这样工作?感谢

1 个答案:

答案 0 :(得分:1)

improfile将遵循您提供的坐标X,Y定义的路径,但不会在这些完全坐标处为您提供结果。

将语法 C=improfile(I,xi,yi,n) n=50一起使用。在你的情况下:

C = improfile(BW4,X,Y,50);

这将强制输出为[50x1]向量。