要實現實時面部表情識別,可以使用OpenCV庫和一些機器學習模型。以下是一個簡單的步驟指南:
pip install opencv-python
下載預訓練的面部表情識別模型:你可以從互聯網上下載一些已經訓練好的面部表情識別模型,比如FER2013或者CK+數據集上訓練的模型。
編寫代碼:使用OpenCV庫捕獲攝像頭的實時視頻流,并使用訓練好的模型進行面部表情識別。以下是一個簡單的Python代碼示例:
import cv2
# 加載面部表情識別模型
model = cv2.dnn.readNetFromCaffe('deploy.prototxt', 'weights.caffemodel')
# 打開攝像頭
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
# 從攝像頭捕獲幀
blob = cv2.dnn.blobFromImage(cv2.resize(frame, (300, 300)), 1.0, (300, 300), (104.0, 177.0, 123.0))
model.setInput(blob)
detections = model.forward()
for i in range(0, detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.5:
box = detections[0, 0, i, 3:7] * np.array([300, 300, 300, 300])
(startX, startY, endX, endY) = box.astype("int")
# 繪制面部表情
cv2.rectangle(frame, (startX, startY), (endX, endY), (0, 255, 0), 2)
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
這只是一個簡單的示例,你可以根據需要自定義代碼來改進面部表情識別的準確性和性能。