》》點(diǎn)贊,收藏+關(guān)注,理財(cái)&技術(shù)不迷路《《
記住知識:HAAR與LBP數(shù)據(jù),我們得知道從哪里獲取數(shù)據(jù)。OpenCV人臉檢測-Haar級聯(lián)和LBP,這里不展開細(xì)講,直接上使用過程應(yīng)用過程。
"""
使用Haar分類器進(jìn)行面部檢測
1. 簡單介紹Haar特征分類器對象檢測技術(shù)
????它是基于機(jī)器學(xué)習(xí)的,通過使用大量的正負(fù)樣本圖像訓(xùn)練得到一個(gè)cascade_function,最后再用它來做對象檢測。
????如果你想實(shí)現(xiàn)自己的面部檢測分類器,需要大量的正樣本圖像(面部圖像)和負(fù)樣本圖像(不含面部的圖像)來訓(xùn)練分類器。
????可參考https://docs.opencv.org/2.4/doc/user_guide/ug_traincascade.html,這里不做介紹,現(xiàn)在我們利用
????OpenCV已經(jīng)訓(xùn)練好的分類器,直接利用它來實(shí)現(xiàn)面部和眼部檢測。
2. 主要步驟:
????1)加載xml分類器,并將圖像或者視頻處理成灰度格式 cv.CascadeClassifier()
????2)對灰度圖像進(jìn)行面部檢測,返回若干個(gè)包含面部的矩形區(qū)域 Rect(x,y,w,h)face_detector.detectMultiScale()
????3)創(chuàng)建一個(gè)包含面部的ROI,并在其中進(jìn)行眼部檢測
3. 重要方法分析:def detectMultiScale(self, image, scaleFactor=None, minNeighbors=None, minSize=None, maxSize=None)
????原理:檢測輸入圖像在不同尺寸下可能含有的目標(biāo)對象
#minSize – Minimum possible object size. Objects smaller than that are ignored.
#maxSize – Maximum possible object size. Objects larger than that are ignored.
????入?yún)ⅲ?/p>
????????1)image:輸入的圖像
????????2)scaleFactor:比例因子,圖像尺寸每次減少的比例,要大于1,這個(gè)需要自己手動調(diào)參以便獲得想要的結(jié)果
????????3)minNeighbors:最小附近像素值,在每個(gè)候選框邊緣最小應(yīng)該保留多少個(gè)附近像素
????????4)minSize,maxSize:最小可能對象尺寸,所檢測的結(jié)果小于該值會被忽略。最大可能對象尺寸,所檢測的結(jié)果大于該值會被忽略
????返回:若干個(gè)包含對象的矩形區(qū)域
"""
可以基于HAAR也可以基于LTP的檢測,下面是以HAAR為例來檢測:

通過攝像頭人臉檢測:
