OpenCV簡單的人臉識別

2021-10-13 20:58:08 字數 1517 閱讀 7389

import cv2

import sys

from pil import image

defcatchusbvideo

(window_name, camera_idx)

: cv2.namedwindow(window_name)

cap = cv2.videocapture(camera_idx)

# 告訴opencv使用人臉識別分類器

classfier = cv2.cascadeclassifier(

"./haarcascade_frontalface_alt2.xml"

)# 識別出人臉後要畫的邊框的顏色,rgb格式

color =(0

,255,0

)while cap.isopened():

ok, frame = cap.read(

)# 讀取一幀資料

ifnot ok:

break

# 將當前幀轉換成灰度影象

grey = cv2.cvtcolor(frame, cv2.color_bgr2gray)

# 人臉檢測,1.2和2分別為縮放比例和需要檢測的有效點數

facerects = classfier.detectmultiscale(grey, scalefactor=

1.2, minneighbors=

3, minsize=(32

,32))

iflen

(facerects)

>0:

# 大於0則檢測到人臉

for facerect in facerects:

# 單獨框出每一張人臉

x, y, w, h = facerect

cv2.rectangle(frame,

(x -

10, y -10)

,(x + w +

10, y + h +10)

, color,2)

# 顯示影象

cv2.imshow(window_name, frame)

c = cv2.waitkey(10)

if c &

0xff

==ord

('q'):

break

# 釋放攝像頭並銷毀所有視窗

cap.release(

) cv2.destroyallwindows(

)if __name__ ==

'__main__':if

len(sys.ar**)!=1

:print

("usage:%s camera_id\r\n"

%(sys.ar**[0]

))else

: catchusbvideo(

"識別人臉區域",0

)

效果截圖,人醜勿怪

基於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...