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

我想知道函数cv2.drawContours(厚度
drawContours documentation

最佳答案

OpenCV的文档说cv::DrawContours基于扫描线多边形填充算法。 cv::DrawContours主要包括两个函数CollectPolyEdgesFillEdgeCollection。前者只是基于从轮廓获得的一些“关键点”来收集边缘。因此,FillEdgeCollection用于填充这些集合。

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

  • scan-line algorithm #1
  • scan-line algorithm #2

  • 有关更多信息,您可以分析OpenCV的cvDrawContours的来源:
  • cv::CollectPolyEdges
  • cv::FillEdgeCollection
  • https://stackoverflow.com/questions/28542836/

    相关文章:

    android - javacv和opencv之间的转换以从Mat中获取均值和stdDev

    opencv - 光流和手指跟踪

    python - Spatstat:给定二维点列表,如何将它们连接到多边形中,并进一步使其成为研究区

    python-2.7 - 如何提高Python PIL的最终图像质量和清晰度?

    delphi - 当我尝试安装 Delphi-OpenCV。我得到 "%1 is not a val

    python - 使用 Python 和 Matplotlib 将立体图像和深度图转换为 3D 散点

    python - 从我的Python代码返回Opencv Mat类型

    matlab - 如何在 OpenCV 中进行网格插值 interp2

    opencv - 从 OpenCV 中的边获取多边形

    opencv - BackgroundSubtractorMOG2 阴影检测在阳光充足的场景中不起作