python drawcontours_2021-02-15 Python OpenCV drawContours()函数

这篇博客详细介绍了Python的OpenCV库中drawContours()函数的使用,包括参数解析和示例应用。函数用于在图像上绘制或填充轮廓线,参数包括目标图像、轮廓数组、轮廓索引、颜色、线条厚度、线型等。通过调整参数可以控制轮廓的显示方式,如轮廓线或填充区域,以及线条的连接类型。示例中展示了如何从二值化图像中找到轮廓,并进行绘制。
摘要由CSDN通过智能技术生成

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

该函数用于绘制轮廓线或者填充轮廓线。如果参数

math?formula=thickness%20%5Cgeq%200;那么就绘制轮廓线。如果参数

math?formula=thickness%20%3C%200;则填充轮廓线内的区域。

参数

image:目标图像。

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

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

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

thickness:整型int,轮廓线的粗细。如果参数

math?formula=thickness%20%5Cgeq%200;那么就绘制轮廓线。如果参数

math?formula=thickness%20%3C%200;则填充轮廓线内的区域。默认为1。

lineType:线段类型。

cv2.FILLED:全连接线

cv2.LINE_4:四连接线

cv2.LINE_8:八连接线(默认项)

cv2.LINE_AA:抗锯齿线

参考官网文档LineTypes

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

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

如果为0,只有被指定的轮廓被绘制。

如果为1,此函数绘制轮廓线和所有嵌套的轮廓线。

如果为2,此函数绘制轮廓线,所有的嵌套的轮廓线,所有嵌套的轮廓线的嵌套轮廓线。并以此类推。

此函数仅在参数 hierarchy 有效时被考虑。默认为

math?formula=2%5E%7B31%7D-1

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

测试

9ca29b5a84cc

二值化的图片

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只能为黑或白色

9ca29b5a84cc

绘制轮廓线后的图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值