Opencv 入门学习之图片人脸识别
2015-04-19 22:04
393 查看
读入图片,算法检测,画出矩形框
生成人脸文件:
参考: http://blog.csdn.net/u012162613/article/details/43523507
import cv2 from PIL import Image,ImageDraw import os def detectFaces(image_name): img = cv2.imread(image_name) face_cascade = cv2.CascadeClassifier('../opencv-2.4.9/data/haarcascades/haarcascade_frontalface_default.xml') if img.ndim==3: # 如果是三维就转换成二维 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) else: gray = img faces = face_cascade.detectMultiScale(gray,scaleFactor = 1.3,minNeighbors=4) result = [] for (x,y,width,height) in faces: result.append((x,y,x+width,y+height)) return result def saveFaces(image_name): faces = detectFaces(image_name) if faces: save_dir = image_name.split('.')[0]+"_faces" os.mkdir(save_dir) count = 0 for (x1,y1,x2,y2) in faces: file_name = os.path.join(save_dir,str(count)+".jpg") Image.open(image_name).crop((x1,y1,x2,y2)).save(file_name) count +=1 #在原图像上画矩形,框出所有人脸。 #调用Image模块的draw方法,Image.open获取图像句柄, ImageDraw获取该图像的draw实例,然后调用该draw实例的rectangle方法画矩形 (矩形的坐标即mZdetectFaces返回的坐标),outline是矩 形线条颜色(B,G,R)。 #注:原始图像如果是灰度图,则去掉outline,因为灰度图没有RGB可言。drawEyes、detectSmiles也一样 def drawFaces(image_name): faces = detectFaces(image_name) if faces: img = Image.open(image_name) draw_instance = ImageDraw.Draw(img) for(x1,y1,x2,y2) in faces: draw_instance.rectangle((x1,y1,x2,y2),outline=(25,255,0)) img.save('drawFaces_'+image_name) saveFaces(image_name) image = cv2.imread('drawFaces_'+image_name) return image if __name__=="__main__": img = drawFaces('obama.jpg') cv2.imshow("drawFaces",img) cv2.waitKey(0) cv2.destroyAllWindows()
运行 python faceDetect.py 后效果如图:前2个识别错误!
生成人脸文件:
参考: http://blog.csdn.net/u012162613/article/details/43523507
相关文章推荐
- 学习Opencv, 人脸识别, 图片来自百度
- 【从零学习openCV】IOS7人脸识别实战
- 【从零学习openCV】IOS7人脸识别实战
- opencv学习-Cascade Classifier-人脸人眼识别
- 小黑深度学习之路——图片爬取+人脸识别截取
- 学习opencv的趣事:关于人脸识别
- 基于openCv2的人脸识别入门
- 【OpenCV入门指南】第十三篇 人脸识别
- 【OpenCV人脸识别入门教程之四】LBP人脸识别
- OpenCV3与深度学习实例-使用GoogLeNet模型进行图片分类识别
- opencv3.3+dnn+caffe深度学习来实现图片的分类识别
- 转:OpenCV学习笔记3:找出人脸,同时比较两张图片中的人脸相似度
- OpenCV学习 物体检测 人脸识别 填充颜色
- Opencv学习(人脸识别)
- OpenCV学习:人脸识别 简单程序
- OpenCV学习笔记3:找出人脸,同时比较两张图片中的人脸相似度
- OpenCV学习:找出人脸,同时比较两张图片中的人脸相似度
- OpenCV学习记录(二):自己训练haar特征的adaboost分类器进行人脸识别 标签: 脸部识别opencv 2017-07-03 21:38 26人阅读
- 人脸识别《一》opencv人脸识别之收集人脸并学习
- opencv 学习人脸识别