我有一个难题需要你的帮助。我有一个二值图像,它保留了一些不需要的区域(小白点)和孔区域(在图 1 中)。我的想法是,首先我将通过计算这些区域的面积来移除不需要的区域,然后用小面积值进行过滤。在第二步,我填充孔区域以使图像清晰。您认为填充孔区域的最佳方法是什么。D.因为我的想法需要阈值来删除不需要的区域。我想找到自动方法来做到这一点。你有解决的办法吗?非常感谢。这是我删除不需要的区域的参考代码。但它需要阈值术语。您可以在此处下载图像测试
function exImage=rmUnwantedRegion(Img,threshold)
lb = bwlabel(Img);
st = regionprops(lb, 'Area', 'PixelIdxList' );
toRemove = [st.Area] <threshold; % fix your threshold here
exImage = Img;
exImage( vertcat(st(toRemove).PixelIdxList ) ) = 0; % remove
end