填充轮廓时,drawContours 函数如何在 OpenCV 中工作?

How does the drawContours function work in OpenCV when a contour is filled?

想知道函数cv2.drawContours中OpenCV用的是什么算法(厚度<0;等高线形状填充)

drawContours documentation

OpenCV的文档说cv::DrawContours是基于扫描线多边形填充算法。 cv::DrawContours主要包括两个函数,分别为CollectPolyEdgesFillEdgeCollection。前者只是根据从轮廓获得的一些 "key-points" 收集边缘。所以FillEdgeCollection用来填充这些集合。

这里有两个关于算法的例子:

更多信息可以分析OpenCV的来源cvDrawContours: