opencv检测多张人脸
时间: 2024-06-21 15:01:41 浏览: 123
OpenCV是一个广泛使用的计算机视觉库,其中包含了人脸检测的功能。人脸检测是计算机视觉中的一个重要任务,用于识别和定位图像中的人脸。在OpenCV中,可以使用预训练的人脸检测器如Haar级联分类器(Haarcascade Classifier)或更先进的技术如HOG(Histogram of Oriented Gradients)+ SVM或者DNN(深度神经网络)。
以下是使用OpenCV进行多张人脸检测的基本步骤:
1. **加载库和预训练分类器**:
```python
import cv2
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
```
2. **读取图片**:
```python
img = cv2.imread('image.jpg')
```
3. **灰度化和缩放**:
```python
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
scaled_img = cv2.resize(gray, (0, 0), fx=1.1, fy=1.1, interpolation=cv2.INTER_LINEAR)
```
4. **人脸检测**:
```python
faces = face_cascade.detectMultiScale(scaled_img, scaleFactor=1.1, minNeighbors=5)
```
5. **绘制边界框**:
```python
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
```
6. **显示结果**:
```python
cv2.imshow('Detected Faces', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```