请用opencv写一个人脸识别算法
时间: 2024-05-13 19:14:51 浏览: 115
利用opencv编写的人脸识别
好的,以下是一个简单的基于OpenCV的人脸识别算法:
```python
import cv2
# 读取人脸识别器模型
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 加载测试图片
img = cv2.imread('test.jpg')
# 将图片转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 检测人脸
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
# 在图片上标记出检测到的人脸
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示结果
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`haarcascade_frontalface_default.xml`是OpenCV自带的人脸识别器模型文件。你可以在OpenCV的安装目录下的`data/haarcascades`文件夹中找到它。
运行这个脚本后,它会在测试图片中检测出人脸,然后在原图上用矩形框标出人脸位置。你可以根据实际需求进行修改和优化。
阅读全文