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

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

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

;那么就绘制轮廓线。如果参数

;则填充轮廓线内的区域。

参数

image:目标图像。

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

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

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

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

;那么就绘制轮廓线。如果参数

;则填充轮廓线内的区域。默认为1。

lineType:线段类型。

cv2.FILLED:全连接线

cv2.LINE_4:四连接线

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

cv2.LINE_AA:抗锯齿线

参考官网文档LineTypes

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

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

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

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

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

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

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,drawcontours)