AI人工智能 人脸检测
人脸检测是计算机视觉中最引人入胜的应用之一,它使计算机视觉更加真实和具有未来感。OpenCV 具有执行人脸检测的内置功能。我们将使用Haar级联分类器进行人脸检测。
Haar 级联数据
我们需要数据才能使用 Haar 级联分类器。您可以在 OpenCV 包中找到这些数据。安装 OpenCV 后,您可以看到名为haarcascades的文件夹。其中会有用于不同应用的.xml 文件。现在,复制所有这些文件,将它们粘贴到当前项目下的一个新文件夹中。
示例 以下是使用 Haar 级联检测以下图像中阿米特巴・巴强(Amitabh Bachan)人脸的 Python 代码:

导入OpenCV包,如下所示:
import cv2
import numpy as np
现在,使用HaarCascadeClassifier检测人脸:
face_detection=
cv2.CascadeClassifier('D:/ProgramData/cascadeclassifier/
haarcascade_frontalface_default.xml')
现在,要读取特定图像,请使用 *\imread ()\* 函数:
img = cv2.imread('AB.jpg')
现在,将其转换为灰度,因为它接受灰度图像:
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
现在,使用face_detection.detectMultiScale执行实际的人脸检测:
faces = face_detection.detectMultiScale(gray, 1.3, 5)
现在,在整个人脸周围绘制一个矩形:
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w, y+h),(255,0,0),3)
cv2.imwrite('Face_AB.jpg',img)
这个 Python 程序将创建一个名为Face_AB.jpg的图像,其中包含人脸检测结果,如下所示:
