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使用datetime模块计算各种时间间隔的方法
Mar 24 Python
Python中的各种装饰器详解
Apr 11 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
一步步教你用python的scrapy编写一个爬虫
Apr 17 Python
Django Sitemap 站点地图的实现方法
Apr 29 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
Python numpy多维数组实现原理详解
Mar 10 Python
keras的三种模型实现与区别说明
Jul 03 Python
mac安装python3后使用pip和pip3的区别说明
Sep 01 Python
python​格式化字符串
Apr 20 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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
浅谈php处理后端&接口访问超时的解决方法
2016/10/29 PHP
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
javascript实现存储hmtl字符串示例
2014/04/25 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
Python中Selenium库使用教程详解
2020/07/23 Python
采购主管的岗位职责
2013/12/17 职场文书
《雨点》教学反思
2014/02/12 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
奠基仪式策划方案
2014/05/15 职场文书
2014年民政局关于保密工作整改措施
2014/09/19 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
教师个人学习总结
2015/02/11 职场文书
党员个人总结范文
2015/02/14 职场文书
遗失说明具结保证书
2015/02/26 职场文书
golang中的并发和并行
2021/05/08 Golang
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript