基于模板匹配的人脸检测人脸检测人脸检测人脸检测代码
时间: 2023-10-14 18:06:41 浏览: 93
基于模版匹配人脸识别
5星 · 资源好评率100%
以下是基于模板匹配的人脸检测代码,可以用于检测静态图片中的人脸:
```python
import cv2
# 加载模板图像和测试图像
template = cv2.imread('template.jpg', cv2.IMREAD_GRAYSCALE)
test_image = cv2.imread('test_image.jpg', cv2.IMREAD_GRAYSCALE)
# 获取模板图像的宽度和高度
w, h = template.shape[::-1]
# 匹配模板
res = cv2.matchTemplate(test_image, template, cv2.TM_CCOEFF_NORMED)
# 设置匹配阈值
threshold = 0.8
# 获取匹配位置
loc = np.where(res >= threshold)
# 绘制矩形框标注人脸位置
for pt in zip(*loc[::-1]):
cv2.rectangle(test_image, pt, (pt[0]+w, pt[1]+h), (0, 255, 255), 2)
# 显示结果图像
cv2.imshow('Result', test_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,需要准备一个模板图像和一个测试图像,模板图像中包含一个已知的人脸,测试图像中需要检测人脸的位置。代码中使用了 OpenCV 中的模板匹配函数 `cv2.matchTemplate()`,并设置了匹配阈值,通过比较模板图像和测试图像的相似度来检测人脸位置。最后,绘制矩形框标注人脸位置,并显示结果图像。
阅读全文