Advertisement

OpenCV查找和绘制轮廓(cv2.findContours函数 cv2.drawContours)

阅读量:

轮廓概念解析

轮廓可被视作由连续边界点构成的曲线,这些点具有相同的颜色或灰度值。在形状分析以及物体的检测与识别过程中,轮廓具有重要作用。

  • 为确保精度,需采用二值图像。此时应进行阈值处理或Canny边缘检测
  • 查找轮廓的函数会对原始图像进行修改。若后续仍需使用该图像,建议将原始图像保存至其他变量中。
  • 在OpenCV中,查找轮廓的过程类似于在黑色背景中寻找白色目标。需要注意的是,所寻找的目标应为白色,而背景应为黑色
    如何从二值图像中提取轮廓?
    函数cv2.findContours()包含三个参数:第一个为输入图像,第二个为轮廓检索模式,第三个为轮廓近似方法。该函数返回三个结果:第一个是图像本身,第二个是提取出的轮廓信息,第三个是(轮廓的)层次结构。其中第二个返回值即为轮廓数据,它是一个Python列表,内含图像中所有识别到的轮廓信息。每个单独的轮廓以Numpy数组的形式存在,并记录了对象边界上各点(x,y)的具体坐标位置。
    1.2 如何绘制轮廓
    函数cv2.drawContours()可用于绘制提取到的轮廓信息。该函数能够根据提供的边界点绘制任意形状。其第一个参数为原始图像数据,第二个参数是包含所有提取到的轮廓信息的Python列表,第三个参数用于指定要绘制的具体轮廓索引(当需要单独绘制某一个特定轮廓时

全部评论 (0)

还没有任何评论哟~