Python+OpenCV十行代码实现简单的人脸检测

Python+OpenCV十行代码实现简单的人脸检测

环境安装

  • OpenCV-python
    pip安装
pip install opencv-python

更换成阿里云镜像源可以更快

pip install opencv-python -i http://mirrors.aliyun.com/pypi/simple/
  • GitHub下载OpenCV级联分类器
    OpenCV
    或者用git clone
git clone [email protected]:opencv/opencv.git

在/data目录下有很多级联分类器
Python+OpenCV十行代码实现简单的人脸检测_第1张图片
这里选择haarcascades目录下的haarcascade_frontalface_default.xml
Python+OpenCV十行代码实现简单的人脸检测_第2张图片
Python+OpenCV十行代码实现简单的人脸检测_第3张图片

实现代码

import os
import cv2

#图片和级联分类器相对路径,放到当前目录下
path = './Handsome.jpg'
classifier = './haarcascade_frontalface_default.xml'

#读取图片
img = cv2.imread(path)
#级联分类器
cascadeClassifier = cv2.CascadeClassifier(classifier)

#获取人脸
faces = cascadeClassifier.detectMultiScale(img)

for x, y, width, height in faces:
    #检测人脸并用框标记
    cv2.rectangle(img, (x - 20, y - 20), (x + width + 20, y + height + 20), (0, 0, 255), 2)

#输出为JPG文件
cv2.imwrite("Result.jpg", img)

输出结果

Python+OpenCV十行代码实现简单的人脸检测_第4张图片

目录结构

Python+OpenCV十行代码实现简单的人脸检测_第5张图片

最后

  • 在data目录下还有许多的级联分类器,读者可以自行尝试,只需更改上述代码中的classifier变量即可
  • 实际只有九行代码,并且可以合并得更短,但博主认为没有必要为了简洁而简洁,故不再更改
  • 程序及资源
  • 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解!

你可能感兴趣的:(Python,opencv,人脸识别,python,图像识别)