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程序的循环的运行效率的原因
Apr 01 Python
flask + pymysql操作Mysql数据库的实例
Nov 13 Python
Python方法的延迟加载的示例代码
Dec 18 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
解决python 自动安装缺少模块的问题
Oct 22 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
使用python的pandas为你的股票绘制趋势图
Jun 26 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
Python连接字符串过程详解
Jan 06 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 Python
利用python爬取有道词典的方法
Dec 08 Python
Python语法学习之进程的创建与常用方法详解
Apr 08 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
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
加速IE的Javascript document输出的方法
2010/12/02 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
bootstrap table表格插件之服务器端分页实例代码
2018/09/12 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
Python查看多台服务器进程的脚本分享
2014/06/11 Python
在Python中marshal对象序列化的相关知识
2015/07/01 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
Python中的枚举类型示例介绍
2019/01/09 Python
Python跳出多重循环的方法示例
2019/07/03 Python
python中upper是做什么用的
2020/07/20 Python
CSS3 渐变(Gradients)之CSS3 径向渐变
2016/07/08 HTML / CSS
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang