2021-02-15 Python OpenCV drawContours()函数

drawContours(image,contours,contourIdx,color,thickness = 1,lineType = LINE_8,hierarchy = noArray(),maxLevel = INT_MAX,offset = None)

该函数用于绘制轮廓线或者填充轮廓线。如果参数thickness \geq 0;那么就绘制轮廓线。如果参数thickness < 0;则填充轮廓线内的区域。

参数

  1. image:目标图像。

  2. contour:Array,所有的输入轮廓。每一条轮廓都被作为vector存储。

  3. contourldx:整型int,用于指引需要绘制的轮廓。如果是负值,则绘制所有轮廓。

  4. color: 用元组表示(B,G,R),const Scalar&,轮廓线的颜色。

  5. thickness:整型int,轮廓线的粗细。如果参数thickness \geq 0;那么就绘制轮廓线。如果参数thickness < 0;则填充轮廓线内的区域。默认为1。

  6. lineType:线段类型。

    • cv2.FILLED:全连接线
    • cv2.LINE_4:四连接线
    • cv2.LINE_8:八连接线(默认项)
    • cv2.LINE_AA:抗锯齿线
      参考官网文档LineTypes

7.hierarchy:可选的层次结构信息。它仅在当你需要绘制一些轮廓线时被使用。(详见参数maxLevel)默认为noArray(),(返回一个空数组)

8.maxLevel:绘制轮廓线的最高级别。

  • 如果为0,只有被指定的轮廓被绘制。
  • 如果为1,此函数绘制轮廓线和所有嵌套的轮廓线。
  • 如果为2,此函数绘制轮廓线,所有的嵌套的轮廓线,所有嵌套的轮廓线的嵌套轮廓线。并以此类推。

此函数仅在参数 hierarchy 有效时被考虑。默认为2^{31}-1

9.offset:轮廓线的偏移值。默认为None。

测试

二值化的图片
contours, hierarchy=cv2.findContours(pic, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE)
pic1=cv2.drawContours(pic, contours, -1,color=(0,0,255),thickness=1) 
#单通道图像中,color只能为黑或白色
绘制轮廓线后的图片
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python-Opencv 轮廓常用操作 1.颜色空间转换 使用cv2.cvtColor(input_image ...
    五月的白色铃兰阅读 4,974评论 0 0
  • 查找轮廓 什么是轮廓 轮廓可以简单认为成连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析...
    SwiftBirds阅读 6,041评论 0 2
  • 本片文章介绍的是利用OpenCV对信用卡的卡号进行一个简单的识别 核心用的是match的方法 先把图片读进来,然后...
    乔大叶_803e阅读 5,434评论 2 0
  • 轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果 Code 运行结...
    小兵12138阅读 4,237评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,192评论 16 22