opencv用于查找轮廓的算法是什么?

时间:2012-05-03 08:09:08

标签: algorithm opencv computer-vision contour

我需要在程序中使用cv::FindContours(),我必须知道背后的算法。

openCV 使用什么算法来查找轮廓?

它是如何运作的?

2 个答案:

答案 0 :(得分:25)

如果您阅读documentation,则提及此函数实现以下算法:

  

Suzuki,S。和Abe,K。,数字化的拓扑结构分析   边界的二进制图像跟随。 CVGIP 30 1,pp 32-46(1985)

OpenCV是开源的,如果你想看看它是如何实现的,只需要阅读代码: https://github.com/opencv/opencv/blob/master/modules/imgproc/src/contours.cpp#L1655

this question的答案之一有the paper in question 的链接,该链接已经死亡且论文在付费墙后面,也许谷歌可以帮助找到一个免费副本。

答案 1 :(得分:1)

截至2018年9月,可通过Google Scholar获得该论文。尽管如此,以下是摘录的摘要:

  

针对拓扑提出了两种边界跟随算法   数字化二进制图像的分析。第一个决定   二进制图像边界之间的周围关系。自从   外边界和孔边界与一一对应   l像素的连接分量和与孔的连接,   所提出的算法从   可以在不重构特征的情况下提取某种特征   图片。第二种算法是第一种算法的修改版本,   仅遵循最外边界(即   没有被孔包围)。这些算法可以有效地用于   的组件计数,收缩和拓扑结构分析   使用顺序数字计算机时的二进制图像。