提取最大连通分量

时间:2014-01-30 15:56:11

标签: image matlab image-processing

我已经对图像进行二值化并找到了所有连接的组件。现在我的目标是获得具有更大面积的连通组件的坐标。我已经使用了以下代码 但它显示错误..

           [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

1 个答案:

答案 0 :(得分:3)

您需要向我们展示错误,但我想这是因为您的数组c(k1)r(k1)超出了范围。

区域不一定是矩形,因此计算长度和宽度的方法只是近似值。试试

L = regionprops(binext,'area','PixelIdxList');

代替。 L(i).Area将返回每个地区的区域,i = 1:length(L);