OpenCV findContours函數的參數使用詳解

OpenCV中的findContours函數是用來檢測物體的輪廓,下面詳細說明一下這個函數各參數的意義以及使用。Python代碼中的findContours函數如下:

findContours(image, mode, method, contours=None, hierarchy=None, offset=None)

image:輸入的二值圖像。

mode:定義輪廓的檢索模式,可選項爲cv2.RETR_EXTERNAL(只檢索最外圍輪廓)、cv2.RETR_TREE(檢索所有輪廓,並建立一個等級樹結構)、cv2.RETR_CCOMP( 檢測所有輪廓,只建立兩個等級,最外的輪廓及其內的輪廓)、cv2.RETR_LIST(檢測所有輪廓,但是不建立等級關係)

method:定義輪廓的檢索方式,可選項爲cv2.CHAIN_APPROX_NONE(保存輪廓上的所有連續的點)、cv2.CHAIN_APPROX_SIMPLE(僅保留輪廓上的拐點信息,即關鍵點)

offset:輪廓點的偏移量,如果加上偏移後輪廓點超出邊界,程序會內存溢出報錯。

函數返回值:

對於OpenCV版本不同,其返回值數目也不相同,兩個(contours, hierarchy)或者三個(image, contours, hierarchy)。

image:原圖(後面版本去掉了這一項,其實確實沒有什麼用處。)

contours:輪廓點位置,根據檢索模式來提取所需的輪廓。

hierarchy:輪廓等級結構,保存的等級信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章