在圖像的處理中有時候需要對圖像中的目標區域提出出輪廓
讀取圖像
調用OpenCV的庫使用cv.imread()來讀取圖像。
圖像為
灰度化
二值化
提取輪廓時,圖像一般都是二值化后的圖像。在本次程序中選用cv2.THRESH_BINARY的二值化方式。即將大于閾值的部分設定為255,小于閾值的部分設定為0.效果如下
其中gray是輸入的需要二值化的圖像,230是閾值(自行嘗試找出最佳閾值),255固定值,cv2.THRESH_BINARY是一種二值化方式。
得到的二值化后的圖像為
找輪廓
fan是二值化的圖像,需要使得提取輪廓的區域為白色其余為黑色。因此在二值化后需要進行反色。
反色后效果圖
有了如下代碼:
繪制輪廓
使用此函數來在原圖上繪制輪廓,其中i是需要在哪個圖像想繪制出的輪廓。
contours就是提取出來的輪廓。
0位第一條輪廓
(0,255,255)設定輪廓的顏色. 2代表線的粗細,
繪制出的輪廓如下