-1

如何在连通分量分析的图像中找到最小和最大孔。我已经完成了如何找到洞:(下面的代码)

I = imread('1.jpg');

B=bwlabel(I);

level = graythresh(I);

BW = im2bw(I,level);

numb=bweuler(BW,4);
4

1 回答 1

0

通过最小和最大孔,我假设您的意思是具有最小和最大面积的孔。您可以使用regionprops来查找连接组件的区域。但首先你必须将孔与背景区分开来。所以我们排除了接触图像边界的组件。

lbl = bwlabel(~BW);
holes = ~(BW|ismember(lbl,unique([lbl([1 end],:) lbl(:,[1 end])'])));

现在您想找到剩余组件的最小和最大面积。

rp = regionprops(holes);
min_hole_area = min([rp.Area]);
max_hole_area = max([rp.Area]);

您没有说您是否只想要该区域或像素图。您可以获得最小/最大孔的索引,但通常它可能不是唯一的。

于 2013-04-16T14:58:43.727 回答