準備工作:
USB攝像頭 接入PC電腦USB口,並調試正常打開視頻;這裏Linux上推薦一款視頻軟件來測試Guvcview,或者其他檢測USB攝像頭正常的軟件都可以。
1、下載模型文件:
XML模型庫:https://github.com/opencv/opencv/tree/master/data/haarcascades
1).找到haarcascade_frontalface_default.xml 文件,點擊進去.
2).找到Raw,右鍵鏈接(目標)另存爲。
2、利用USB攝像頭,實現人臉識別,並在視頻中框出人臉顯示位置
打開pycharm開發工具,繼續在項目中新建 video.py 文件,video.py 文件代碼如下:
# -*- coding:utf-8 –*-
import cv2
# 調用模型庫文件
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 打開內置攝像頭
cap = cv2.VideoCapture(0)
# 設置視頻窗口大小
cap.set(3, 640)
cap.set(4, 480)
faceNum = 0
while True:
# 讀取視頻幀
ret, frame = cap.read()
# 圖像灰度處理
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 設定人臉識別參數
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=3)
faceNum = len(faces)
print("人臉數量: %s" % faceNum)
if len(faces) > 0:
for faceRect in faces:
x, y, w, h = faceRect
# -------- 在人臉周圍繪製矩形
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 255, 0), 2)
# 顯示圖像
cv2.imshow('img', frame)
# -------- Q鍵推出
if cv2.waitKey(1) & 0xff == ord('q'):
break
# 釋放資源
cv2.destroyAllWindows()
cap.release()
攝像頭打開運行結果如下: