Affectiva是一个用于情绪检测的API,可以支持使用外部USB摄像头进行情绪检测。下面是一个使用Python的示例代码,演示如何使用外部USB摄像头进行情绪检测:
import cv2
import affectiva
# 初始化情绪检测器
detector = affectiva.EmotionDetector()
# 打开外部USB摄像头
camera = cv2.VideoCapture(0)
while True:
# 读取摄像头的帧
ret, frame = camera.read()
# 进行情绪检测
emotions = detector.detect_emotions(frame)
# 在帧上绘制情绪结果
for face in emotions:
x, y, w, h = face['face_rectangle']
emotion = face['emotions']
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.putText(frame, emotion, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)
# 显示帧
cv2.imshow('Emotion Detection', frame)
# 按下q键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头
camera.release()
cv2.destroyAllWindows()
上述示例代码使用OpenCV库来读取外部USB摄像头的帧,并使用Affectiva的情绪检测器对每一帧进行情绪检测。检测到的情绪结果会在帧上进行显示。按下q键可以退出循环并释放摄像头资源。
请确保已经安装了OpenCV库和Affectiva库,可以使用pip命令进行安装:
pip install opencv-python
pip install affdex-sdk
请注意,示例代码中的Affectiva情绪检测器需要通过Affectiva的API密钥进行授权。在使用之前,请确保已经获得了有效的API密钥,并在代码中进行相应的设置。