这是关于人脸的又一篇原创!
之前有利用C++和OpenCv写过人脸识别的系列文章,对于人脸识别的基本理解和步骤流程等基本知识不做反复叙述。比詹小白还要白的童鞋可以查看往期文章进行了解噢
一、人脸检测
python版人脸检测基本上可以参照C++版本的程序,根据语法不同进行改写即可。
1.输入为包含人脸的图片时
这种情况较为简单,只是直接使用了opencv库的训练好的人脸检测模型~其代码如下所示:(具体函数和方法和c++情况下一样,不反复叙述)
1#encoding=utf-8
2import cv2
3import numpy
4face_patterns = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') #加载分类器,在opencv库内
5sample_image = cv2.imread('image4.jpg') #这里是当输入为图片而不是摄像头采集时
6faces = face_patterns.detectMultiScale(sample_image,scaleFactor=1.1,minNeighbors=5,minSize=(80, 80))
7for (x, y, w, h) in faces:
8 cv2.rectangle(sample_image, (x, y), (x+w, y+h), (0, 255, 0), 2)
9cv2.imshow('face', sample_image);
10cv2.waitKey(0)
11cv2.destroy