Python人脸识别初探


Posted in Python onDecember 21, 2017

本文实例为大家分享了Python人脸识别的具体代码,供大家参考,具体内容如下

1.利用opencv库

sudo apt-get install libopencv-*
sudo apt-get install python-opencv
sudo apt-get install python-numpy

2 .Python实现

import os
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("/usr/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))
       a=im.crop(f)
       file_name=os.path.join(save_path,str(count)+".jpg")
       a.save(file_name)
    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("test3.jpg")

3.效果对比

Python人脸识别初探

4.参考资料

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python&MongoDB爬取图书馆借阅记录
Feb 05 Python
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
使用Python 统计高频字数的方法
Jan 31 Python
TensorBoard 计算图的查看方式
Feb 15 Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
May 26 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
python制作一个简单的gui 数据库查询界面
Nov 19 Python
python实现学生信息管理系统(精简版)
Nov 27 Python
Python获取字典中某个key的value
Apr 13 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 #Python
python 设置文件编码格式的实现方法
Dec 21 #Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 #Python
Python 查看文件的编码格式方法
Dec 21 #Python
python利用OpenCV2实现人脸检测
Apr 16 #Python
Python判断文件和字符串编码类型的实例
Dec 21 #Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
Dec 21 #Python
You might like
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
TensorFlow神经网络优化策略学习
2018/03/09 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
基于Python的PIL库学习详解
2019/05/10 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
python输出带颜色字体实例方法
2019/09/01 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
迟到检讨书900字
2014/01/14 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
广告宣传策划方案
2014/05/21 职场文书
贷款委托书怎么写
2014/08/02 职场文书
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
使用pd.merge表连接出现多余行的问题解决
2022/06/16 Python