我正试图在VB 6.0中找到一种为二进制图像实现填充孔算法的方法。到目前为止我找到了这些网站
http://answers.opencv.org/question/9863/fill-holes-of-a-binary-image/ http://www.mathworks.com/help/images/ref/imfill.html
我对算法找到漏洞感到困惑。有人可以请我转到更好的网站或简单的代码,这样可以帮助我实现算法
答案 0 :(得分:0)
通过形态学关闭操作填充二进制图像中的孔非常容易,该操作通常包括扩张和随后的侵蚀。这些操作的副作用是形状的小变形。带有参数MORPH_CLOSE的morhplogyEx()将在一次操作中为您完成。
要使用的更复杂的算法是flood fill,它将返回孔的区域,并将使用指定的颜色标记它。它从Point seedPoint指定的种子区域开始。
我个人更喜欢将图像对比度反转并将孔洞视为小斑点或连接组件。然后我擦除一定大小的斑点并再次反转图像。 OpenCV有一个简单的blob detector.