我已经对图像进行二值化并找到了所有连接的组件。现在我的目标是获得具有更大面积的连通组件的坐标。我已经使用了以下代码 但它显示错误..
[l,n]=bwconncomp(binext,8);
for k1=1:n
[r,c]=find(l==k1);
rbar=mean(r(k1));
cbar=mean(c(k1));
r1(k1)=max(r(k1));
c1(k1)=max(c(k1));
r2(k1)=min(r(k1));
c2(k1)=min(c(k1));
len(k1)=r1(k1)-r2(k1);
wid(k1)=c1(k1)-c2(k1);
end
答案 0 :(得分:3)
您需要向我们展示错误,但我想这是因为您的数组c(k1)
和r(k1)
超出了范围。
区域不一定是矩形,因此计算长度和宽度的方法只是近似值。试试
L = regionprops(binext,'area','PixelIdxList');
代替。 L(i).Area
将返回每个地区的区域,i = 1:length(L);