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抓取京东商城手机列表url实例代码
Dec 18 Python
分析Python编程时利用wxPython来支持多线程的方法
Apr 07 Python
Python判断字符串与大小写转换
Jun 08 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
Python3单行定义多个变量或赋值方法
Jul 12 Python
Python中的正则表达式与JSON数据交换格式
Jul 03 Python
python给图像加上mask,并提取mask区域实例
Jan 19 Python
python随机模块random使用方法详解
Feb 14 Python
使用python求解二次规划的问题
Feb 29 Python
python实现图片转字符画的完整代码
Feb 21 Python
使用Python获取字典键对应值的方法
Apr 26 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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字符串截取的简单方法
2013/07/04 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
ScrollDown的基本操作示例
2013/06/09 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
pycharm新建一个python工程步骤
2019/07/16 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
Python的信号库Blinker用法详解
2020/12/31 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
教师党员承诺书
2014/03/25 职场文书
买卖协议书范本
2014/04/21 职场文书
创业培训计划书
2014/05/03 职场文书
2014幼儿园小班工作总结
2014/11/10 职场文书
超市员工管理制度
2015/08/06 职场文书