基于OpenCV的人脸识别(Python完整代码)
时间: 2023-08-27 15:54:41 浏览: 107
人脸识别(基于OpenCv 完整代码)
5星 · 资源好评率100%
当然可以!以下是一个基于OpenCV的人脸识别的Python完整代码示例:
```python
import cv2
# 加载人脸识别器
face_cascade = cv2.CascadeClassifier('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), 3)
# 显示结果
cv2.imshow('Face detection', frame)
# 按下 'q' 键退出程序
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头和窗口
cap.release()
cv2.destroyAllWindows()
```
在这个示例中,我们使用了OpenCV自带的人脸级联分类器(haarcascade_frontalface_default.xml)来进行人脸检测。首先,我们加载分类器并打开摄像头,然后不断读取摄像头画面,将其转为灰度图像,并使用人脸级联分类器检测人脸。最后,在检测到的人脸周围画框,并通过窗口显示结果。按下 'q' 键即可退出程序。
请注意,你需要将 `haarcascade_frontalface_default.xml` 文件放在与代码相同的目录下,或者指定正确的文件路径。
希望这个代码示例对你有帮助!如有其他问题,请随时提问。
阅读全文