基于OpenCV中haarcascade_frontalface_default的人脸识别实例
1.准备条件
开源计算机视觉库(点击链接可以下载haarcascade_frontalface_default.xml) 运行环境: pycharm 准备图片:网上寻 下载zip文件,解压后找到
2.通过以下代码在pycharm中运行
需要准备的图片,在网上随便找一下叭,记得haarcascade_frontalface_default.xml文件添加到*.py和pho.jpeg相同路径下即可。
# 导入模块
import cv2
#加载一张待检测的人脸,可直接将图片替换,或者更改路径;
img = cv2.imread('pho.jpeg')
# 这里是你的xml存放路径
face_cascade=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 开始人脸检测
faces = face_cascade.detectMultiScale(img, scaleFactor=1.3, minNeighbors = 5)
# 先复制一张图片
img1 = img.copy()
# 在检测到的人脸中操作
for x,y,w,h in faces:
# 画出人脸框
img2 = cv2.rectangle(img1, (x,y), (x+w,y+h), (0,255,0),2)
# 找出人脸区域
face_area = img2[y:y+h, x:x+w]
# 在人脸区域检测人眼
cv2.imshow('img', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
3. 记得在Pycharm中file-system-project-add
opencv-python算法库
4.直接运行可得到下图结果
该运行只是调用OpenCV中已经训练好的人脸识别数据库,所以省去了很多步骤; 如有错误,请指出,共同学习。
|