基於opencv實現人臉識別

2021-10-02 21:25:54 字數 1543 閱讀 7314

利用opencv,及自帶的人臉識別訓練結果(安裝包site_package下cv2包內data下的haarcascade_frontalface_default.xml)

這裡的opencv可以使用: pip install opencv-python 安裝!mac可能需要brew安裝再關聯包。

我們需要準備:

待識別的

準備haarcascade_frontalface_default.xml檔案

我們計畫識別lenna的:

:# 檔案位址

file

= r'./files/lenna.jpeg'

# 人臉識別訓練結果檔案

cascade = r'./files/haarcascade_frontalface_default.xml'

# 讀取彩色,用以識別後的結果繪圖

img = cv2.imread(

file

)# 將檔案轉化為灰度模式

gray = cv2.cvtcolor(img, cv2.color_bgr2gray)

# 建立集聯分類器

face_cascade = cv2.cascadeclassifier(cascade)

# 開始掃瞄人臉, 引數可調,描述後附

faces = face_cascade.detectmultiscale(gray, scalefactor=

1.05

, minneighbors=5)

# 掃瞄的結果,為左上角座標及寬,高

for x, y, w, h in faces:

# 將結果在彩色上用綠色的矩形繪製出來

img = cv2.rectangle(img,

(x, y)

,(x+w, y+h),(

0,255,0)

,3)# 顯示最終結果

cv2.namedwindow(

"lenna"

) cv2.imshow(

"lenna"

, img)

# 等待相應任意按鍵,結束程式

cv2.waitkey(0)

cv2.destroyallwindows(

)執行結果如下:

引數名解釋scalefactor

預設值為1.1。scale_factor引數可以決定兩個不同大小的視窗掃瞄之間有多大的跳躍,這個引數設定的大,則意味著計算會變快,但如果視窗錯過了某個大小的人臉,則可能丟失物體。

minneighbors

預設值3。表示每乙個目標至少要被檢測到3次才算是真的目標(因為周圍的畫素和不同的視窗大小都可以檢測到人臉)

基於opencv的人臉識別

1前言參考的是 這篇用的是dlib的對齊還加了mask。本文方法 人臉檢測 shiqiyu libfacedetection opencv提取ptr類 2 facedetect.h include include include include include facedetect dll.h us...

基於Opencv的人臉識別

要進行人臉的識別的訓練,首先我們要對openv中人臉識別類facerecognizer要有乙個了解,可以參考這個部落格對facerecognizer 有乙個了解 這個部落格對人臉的訓練解釋的很好,具體怎麼訓練可以閱讀這個部落格。關於人臉識別 我們有一下兩個步驟 1.利用pca變換的人臉識別,對人臉進...

基於Opencv的人臉識別

當在閱讀書籍opencv3時,偶遇人臉識別這一概念,通過網上查閱得知人臉識別是生物特徵識別的最新應用。在此書籍引導下,寫了乙個最基本的人臉識別 期間有乙個問題需要注意,再往工程目錄匯入xml檔案是注意不要導錯,應該是這兩個haarcascade frontalface alt.xml和haarcas...