Python人臉識別(2)——人臉檢測(攝像頭動態)

前言

  今天開始做攝像頭動態人臉檢測。:不是人臉識別。
在上一篇靜態照片人臉檢測博客的基礎上稍作修改就可以了。大部分代碼還是相同的只不過,將照片改爲每一幀照片而已。

代碼實現

import cv2
face_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')   # 加載級聯文件
eye_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_eye.xml')   # 加載級聯文件
cap = cv2.VideoCapture(0)  # 打開筆記本攝像頭
while(True):
    check,frame = cap.read()  # 讀入每幀圖片
    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)  # 灰度化處理
    face = face_engine.detectMultiScale(gray,scaleFactor=1.25,minNeighbors=6)  # 參數根據實際效果自行調整
    for (x,y,w,h)in face:
        img = cv2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)  # 臉部框圖繪製
        face_area = img[y:y+h,x:x+w]  # 將眼部檢測區域範圍縮小,減少檢測時間
        eye = eye_engine.detectMultiScale(face_area,1.25,10)
        for (ex,ey,ew,eh) in eye:
            cv2.rectangle(face_area,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)  # 眼部框圖繪製
    cv2.imshow("frame", frame)
    if cv2.waitKey(1) == ord('q'):  # 鍵盤鍵入q退出
        break
cap.release()
cv2.destroyAllWindows()

在這裏就不做效果展示了,只要環境搭建好,這幾行代碼基本就可以實現攝像頭的人臉檢測和人眼檢測。相對比較簡單。

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