这段代码提供了如何利用OpenCV库中的Cascade Classifier模块来进行实时的人脸检测。它为初学者展示了基本步骤和应用方法。
OpenCV 使用Cascade Classifier实现人脸识别的例程示例如下:
首先需要导入必要的库:
```python
import cv2
```
然后加载人脸检测模型(这里使用的是默认的人脸分类器):
```python
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + haarcascade_frontalface_default.xml)
```
接下来是读取图片并将其转换为灰度图像,以便进行特征提取和处理:
```python
img = cv2.imread(path_to_your_image.jpg) # 加载一张图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换为灰度图
```
使用Cascade Classifier来检测人脸。这里会调用分类器的detectMultiScale方法,它会在给定图像中查找对象,并返回一个列表,其中包含找到的对象边界框:
```python
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
```
最后,在原始图片上绘制矩形标记出检测到的人脸位置。这里使用了OpenCV的rectangle函数来实现这个功能。
```python
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow(img,img)
cv2.waitKey()
```
以上就是使用OpenCV的Cascade Classifier实现人脸识别的基本步骤。