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只能为黑或白色
绘制轮廓线后的图片