本例例用人臉特徵庫實現電腦攝像頭實時追蹤人臉。相關知識見前面博客
下面是代碼實例:
import cv2
cap = cv2.VideoCapture(0)
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml') # 加載人臉特徵庫
face_cascade.load(r'D:\python\myTest\face\haarcascade_frontalface_alt2.xml')
while(True):
ret, frame = cap.read() # 讀取一幀的圖像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 轉灰
faces = face_cascade.detectMultiScale(gray, scaleFactor = 1.15, minNeighbors = 5, minSize = (5, 5)) # 檢測人臉
for(x, y, w, h) in faces:
cv2.rectangle(gray, (x, y), (x + w, y + h), (0, 255, 0), 2) # 用矩形圈出人臉
cv2.imshow('Face Recognition', gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release() # 釋放攝像頭
cv2.destroyAllWindows()