我需要在一个程序中使用cv::FindContours(),我必须知道它背后的算法。
cv::FindContours()
openCV使用什么算法来查找轮廓?
它是如何工作的?
wljmcqd81#
如果您阅读文档,会发现其中提到此函数实现以下算法:Suzuki,S.和Abe,K.,通过边界跟踪对数字化二值图像进行拓扑结构分析,CVGIP 30 1,第32-46页(1985年)OpenCV是开源的,如果你想了解它是如何实现的,只需阅读代码:https://github.com/opencv/opencv/blob/master/modules/imgproc/src/contours.cpp#L1655纸张可用here。
omjgkv6w2#
截至2018年9月,该论文可通过Google Scholar获得。尽管如此,以下是该论文的摘要,以防论文被撤下:本文提出了两种用于数字化二值图象拓扑分析的边界跟踪算法.第一种算法确定二值图象边界之间的包围关系.由于外边界和孔洞边界分别与l-象素的连通分量和孔洞一一对应,所以所提出的算法产生二值图象的表示,第二种算法是第一种算法的改进版,它只跟踪最外边界这些算法可以有效地用于组件计数、收缩和二值图像的拓扑结构分析。
2条答案
按热度按时间wljmcqd81#
如果您阅读文档,会发现其中提到此函数实现以下算法:
Suzuki,S.和Abe,K.,通过边界跟踪对数字化二值图像进行拓扑结构分析,CVGIP 30 1,第32-46页(1985年)
OpenCV是开源的,如果你想了解它是如何实现的,只需阅读代码:https://github.com/opencv/opencv/blob/master/modules/imgproc/src/contours.cpp#L1655
纸张可用here。
omjgkv6w2#
截至2018年9月,该论文可通过Google Scholar获得。尽管如此,以下是该论文的摘要,以防论文被撤下:
本文提出了两种用于数字化二值图象拓扑分析的边界跟踪算法.第一种算法确定二值图象边界之间的包围关系.由于外边界和孔洞边界分别与l-象素的连通分量和孔洞一一对应,所以所提出的算法产生二值图象的表示,第二种算法是第一种算法的改进版,它只跟踪最外边界这些算法可以有效地用于组件计数、收缩和二值图像的拓扑结构分析。