如何使用MTCNN对图像进行人脸检测
时间: 2023-12-04 20:06:25 浏览: 126
MTCNN(Multi-task Cascaded Convolutional Networks)是一种经典的人脸检测算法,可以同时进行人脸检测、关键点检测和人脸对齐。以下是使用MTCNN进行人脸检测的Python代码:
```python
import cv2
import numpy as np
from mtcnn import MTCNN
# 加载MTCNN模型
detector = MTCNN()
# 加载图片
img = cv2.imread('test.jpg')
# 转换为RGB格式
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 进行人脸检测
results = detector.detect_faces(img_rgb)
# 遍历每个检测结果
for result in results:
# 获取人脸框
x, y, w, h = result['box']
# 绘制人脸框
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 显示结果
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在代码中,首先使用`MTCNN()`加载MTCNN模型,然后使用`detect_faces()`方法进行人脸检测。检测结果是一个列表,每个元素表示一张人脸的检测结果,包括人脸框的位置和置信度等信息。最后遍历每个检测结果,将人脸框绘制在原图上,并显示结果。
阅读全文