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