drawContours(image,contours,contourIdx,color,thickness = 1,lineType = LINE_8,hierarchy = noArray(),maxLevel = INT_MAX,offset = None)
該函數(shù)用于繪制輪廓線或者填充輪廓線。如果參數(shù);那么就繪制輪廓線。如果參數(shù)
;則填充輪廓線內(nèi)的區(qū)域。
參數(shù)
image:目標圖像。
contour:Array,所有的輸入輪廓。每一條輪廓都被作為vector存儲。
contourldx:整型int,用于指引需要繪制的輪廓。如果是負值,則繪制所有輪廓。
color: 用元組表示(B,G,R),const Scalar&,輪廓線的顏色。
thickness:整型int,輪廓線的粗細。如果參數(shù)
;那么就繪制輪廓線。如果參數(shù)
;則填充輪廓線內(nèi)的區(qū)域。默認為1。
-
lineType:線段類型。
- cv2.FILLED:全連接線
- cv2.LINE_4:四連接線
- cv2.LINE_8:八連接線(默認項)
- cv2.LINE_AA:抗鋸齒線
參考官網(wǎng)文檔LineTypes
7.hierarchy:可選的層次結構信息。它僅在當你需要繪制一些輪廓線時被使用。(詳見參數(shù)maxLevel)默認為noArray(),(返回一個空數(shù)組)
8.maxLevel:繪制輪廓線的最高級別。
- 如果為0,只有被指定的輪廓被繪制。
- 如果為1,此函數(shù)繪制輪廓線和所有嵌套的輪廓線。
- 如果為2,此函數(shù)繪制輪廓線,所有的嵌套的輪廓線,所有嵌套的輪廓線的嵌套輪廓線。并以此類推。
此函數(shù)僅在參數(shù) 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只能為黑或白色
繪制輪廓線后的圖片