如何在连通分量分析的图像中找到最小和最大孔。我已经完成了如何找到洞:(下面的代码)
I = imread('1.jpg');
B=bwlabel(I);
level = graythresh(I);
BW = im2bw(I,level);
numb=bweuler(BW,4);
如何在连通分量分析的图像中找到最小和最大孔。我已经完成了如何找到洞:(下面的代码)
I = imread('1.jpg');
B=bwlabel(I);
level = graythresh(I);
BW = im2bw(I,level);
numb=bweuler(BW,4);
通过最小和最大孔,我假设您的意思是具有最小和最大面积的孔。您可以使用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]);
您没有说您是否只想要该区域或像素图。您可以获得最小/最大孔的索引,但通常它可能不是唯一的。