python opencv自带的人脸检测模型怎么使用?每次只能输入一张图片吗?
时间: 2024-02-23 15:00:29 浏览: 17
Python OpenCV自带的人脸检测模型是基于Haar特征分类器的级联分类器模型。它可以用于检测人脸、眼睛、嘴巴等部位。
使用OpenCV自带的人脸检测模型非常简单,只需要调用cv2.CascadeClassifier()方法并指定模型文件路径,然后将待检测的图片输入到模型中即可。具体步骤如下:
```
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, scaleFactor=1.1, minNeighbors=5)
# 遍历检测到的人脸并绘制矩形框
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()
```
需要注意的是,OpenCV自带的人脸检测模型也是一种单张图片检测模型,每次只能输入一张图片。如果你需要对多张图片进行检测,可以使用循环或者批量处理的方式来进行处理。