OpenCV detectMultiScale() 函數參數介紹

OpenCV的中文官方文檔

對輸入圖像進行人臉檢測,由於輸入圖片的大小不統一,所以需要進行多維度檢測。

detectMultiScale(
	const Mat& image,
	CV_OUT vector<Rect>& objects,
	double scaleFactor = 1.1,
	int minNeighbors = 3, 
	int flags = 0,
	Size minSize = Size(),
	Size maxSize = Size()
)

1、image爲輸入的灰度圖像。
2、object爲被檢測物體的矩形框向量組。
3、scaleFactor爲每一個圖像尺度中的尺度參數,默認值爲1.1。scale_factor參數可以決定兩個不同大小的窗口掃描之間有多大的跳躍,這個參數設置的大,則意味着計算會變快,但如果窗口錯過了某個大小的人臉,則可能丟失物體。簡單來說就是前後兩次相繼的掃描中,搜索窗口的比例係數。1.1表示每次搜索窗口會擴大10%。
4、minNeighbors表示構成檢測目標的相鄰矩形的最小個數(默認爲3個)。如果組成檢測目標的小矩形的個數和小於 min_neighbors - 1 都會被排除。如果min_neighbors 爲 0, 則函數不做任何操作就返回所有的被檢候選矩形框,這種設定值一般用在用戶自定義對檢測結果的組合程序上。
5、flag參數有幾個默認備選參數

1、CV_HAAR_DO_CANNY_PRUNING 函數將會使用Canny邊緣檢測來排除邊緣過多或過少的區域。
2、CV_HAAR_SCALE_IMAGE 函數不進行分類器縮放,而是進行縮放圖像,按比例正常檢測。
3、CV_HAAR_FIND_BIGGEST_OBJECTS 只返回最大目標
4、CV_HAAR_DO_ROUGH_SEARCH 只做粗略檢測,即只要第一個候選者被發現則結束尋找

6、minSize和maxSize用來限制得到的目標區域的範圍。

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