python+opencv实现的简单人脸识别代码示例


Posted in Python onNovember 14, 2017

#
源码如下:

#!/usr/bin/env python
#coding=utf-8
import os
from PIL import Image, ImageDraw
import cv
def detect_object(image):
 '''检测图片,获取人脸在图片中的坐标'''
 grayscale = cv.CreateImage((image.width, image.height), 8, 1)
 cv.CvtColor(image, grayscale, cv.CV_BGR2GRAY)
 cascade = cv.Load("/opt/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt_tree.xml")
 rect = cv.HaarDetectObjects(grayscale, cascade, cv.CreateMemStorage(), 1.1, 2,
  cv.CV_HAAR_DO_CANNY_PRUNING, (20,20))
 result = []
 for r in rect:
  result.append((r[0][0], r[0][1], r[0][0]+r[0][2], r[0][1]+r[0][3]))
 return result
def process(infile):
 '''在原图上框出头像并且截取每个头像到单独文件夹'''
 image = cv.LoadImage(infile);
 if image:
  faces = detect_object(image)
 im = Image.open(infile)
 path = os.path.abspath(infile)
 save_path = os.path.splitext(path)[0]+"_face"
 try:
  os.mkdir(save_path)
 except:
  pass
 if faces:
  draw = ImageDraw.Draw(im)
  count = 0
  for f in faces:
   count += 1
   draw.rectangle(f, outline=(255, 0, 0))
  drow_save_path = os.path.join(save_path,"out.jpg")
  im.save(drow_save_path, "JPEG", quality=80)
 else:
  print "Error: cannot detect faces on %s" % infile
if __name__ == "__main__":
 process("/Users/zhangdebin/Documents/checkFace2.jpg")

示例图片1:

python+opencv实现的简单人脸识别代码示例

可以看出,对于比较干净的人脸头像,使用opencv库haarcascade_frontalface_alt_tree.xml的识别精度很高(这张达到了100%),同时,对于表情变化的人脸也有很强的鲁棒性。

示例图片2:

python+opencv实现的简单人脸识别代码示例

但是,对于上传的比较随意的头像照片,比如示例图片2这些有帽子、眼镜遮挡的人脸图片,识别效果就会很差,本组只有唯一一个没有帽子遮挡的人脸被识别成功

本次只是简单的测试了下,python使用opencv库的人脸特征进行人脸识别的效果,仅供初学参考。

总结

以上就是本文关于python+opencv实现的简单人脸识别代码示例的全部内容,希望对大家有所帮助,感兴趣的朋友可以参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python选择排序算法的实现代码
Nov 21 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
Apr 25 Python
python基础知识小结之集合
Nov 25 Python
python遍历目录的方法小结
Apr 28 Python
Python的语言类型(详解)
Jun 24 Python
Python使用asyncio包处理并发详解
Sep 09 Python
Python 爬取携程所有机票的实例代码
Jun 11 Python
对pandas的行列名更改与数据选择详解
Nov 12 Python
Python模拟百度自动输入搜索功能的实例
Feb 14 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
Python实现爬取并分析电商评论
Jun 19 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
Jan 05 Python
解读! Python在人工智能中的作用
Nov 14 #Python
python利用有道翻译实现"语言翻译器"的功能实例
Nov 14 #Python
TensorFlow在MAC环境下的安装及环境搭建
Nov 14 #Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 #Python
Python中import机制详解
Nov 14 #Python
AI人工智能 Python实现人机对话
Nov 13 #Python
Python编程实现蚁群算法详解
Nov 13 #Python
You might like
php+dbfile开发小型留言本
2006/10/09 PHP
我的论坛源代码(九)
2006/10/09 PHP
PHP 手机归属地查询 api
2010/02/08 PHP
PHP中文分词的简单实现代码分享
2011/07/17 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
python负载均衡的简单实现方法
2018/02/04 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
python实现字符串和字典的转换
2018/09/29 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
Django对models里的objects的使用详解
2019/08/17 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
MIKI HOUSE美国官方网上商店:日本领先的婴儿和儿童高级时装品牌
2020/06/21 全球购物
工程管理造价应届生求职信
2013/11/13 职场文书
应用心理学个人求职信范文
2013/12/11 职场文书
岗位说明书怎么写
2014/07/30 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技