我想知道在函数cv2.drawContours中OpenCV中使用了什么算法(厚度<0;轮廓形状被填充) .
drawContours documentation
OpenCV的文件说 cv::DrawContours 是基于扫描线多边形填充算法 . cv::DrawContours 主要包括两个名为 CollectPolyEdges 和 FillEdgeCollection 的函数 . 前者只是基于从轮廓中获得的一些"key-points"来收集边缘 . 所以 FillEdgeCollection 用于填充这些集合 .
cv::DrawContours
CollectPolyEdges
FillEdgeCollection
这里有两个关于算法的例子:
scan-line algorithm #1
scan-line algorithm #2
有关更多信息,您可以分析OpenCV的来源 cvDrawContours :
cvDrawContours
cv::CollectPolyEdges
cv::FillEdgeCollection
1 回答
OpenCV的文件说
cv::DrawContours
是基于扫描线多边形填充算法 .cv::DrawContours
主要包括两个名为CollectPolyEdges
和FillEdgeCollection
的函数 . 前者只是基于从轮廓中获得的一些"key-points"来收集边缘 . 所以FillEdgeCollection
用于填充这些集合 .这里有两个关于算法的例子:
scan-line algorithm #1
scan-line algorithm #2
有关更多信息,您可以分析OpenCV的来源
cvDrawContours
:cv::CollectPolyEdges
cv::FillEdgeCollection