图像识别与处理项目实战
1. 人脸检测
Viola - Jones算法可用于任何对象检测,这里我们用它来检测图像中的人脸。OpenCV自带检测器和训练器,我们不训练Haar分类器,而是使用预训练好的人脸分类器,该分类器(XML文件)可在opencv/data/haarcascades/目录中找到。
若要训练自己的分类器来检测汽车、飞机、球等其他对象,可参考 详细说明 。
以下是实现人脸检测的完整代码,在chapter6文件夹中创建faceDetection.py文件:
import numpy as np import cv2 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # You can get the xml file from book website under code bundles. img = cv2.imread('samarth.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) for (x,y,w,h) in faces: cv2.re