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