我对图像进行了二值化,并在it.Now中找到了所有连通的组件,我的目的是获得面积更大的连通组件的坐标,我使用了折叠代码,但它显示了错误。
[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发布于 2014-01-30 16:04:52
您需要向我们展示这些错误,尽管我想这是由于数组c(k1)和r(k1)的范围过大造成的。
区域不一定是矩形的,所以计算长度和宽度的方法只是一个近似。试一试
L = regionprops(binext,'area','PixelIdxList');而不是。L(i).Area将返回每个区域的区域,其中i = 1:length(L);
https://stackoverflow.com/questions/21461256
复制相似问题