这是一个简单且快速使用笔记本电脑摄像头进行人脸识别的Python代码示例:
环境是win11,python3.8
import cv2
# 创建人脸识别器
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# 打开摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取摄像头的图像帧
ret, frame = cap.read()
# 将图像帧转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 在灰度图像中检测人脸
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# 标记检测到的人脸
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示带有人脸标记的图像
cv2.imshow('Face Detection', frame)
# 检测按下键盘上的q键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头,关闭窗口
cap.release()
cv2.destroyAllWindows()
确保您的计算机上安装了OpenCV库(可以通过 pip install opencv-python
进行安装)。此代码会打开您的摄像头,并实时显示摄像头捕捉到的画面。代码会检测到人脸,并用绿色矩形框标记出来。按下键盘上的 ‘q’ 键以退出程序。
请注意,此代码使用的是OpenCV提供的一个经典的人脸级联分类器(haarcascade_frontalface_default.xml)。这只是一种简单的人脸检测方法,并且可能无法在所有情况下都提供准确的结果。如果你需要更精确的人脸识别或其他特定任务的人脸检测,请考虑使用更高级的算法和模型。