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代码写的12306订票代码
Dec 20 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 Python
使用python脚本实现查询火车票工具
Jul 19 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
python实现杨氏矩阵查找
Mar 02 Python
Django中create和save方法的不同
Aug 13 Python
Python文件路径名的操作方法
Oct 30 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
Jan 08 Python
Pytorch转tflite方式
May 25 Python
python中pyplot基础图标函数整理
Nov 10 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中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
php语法检查的方法总结
2019/01/21 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
js判断一个字符串是以某个字符串开头的简单实例
2016/12/27 Javascript
AngularJS前端页面操作之用户修改密码功能示例
2017/03/27 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
python打开windows应用程序的实例
2019/06/28 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
python字符串反转的四种方法详解
2019/12/02 Python
python实现低通滤波器代码
2020/02/26 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
小学开学典礼主持词
2014/03/19 职场文书
培训协议书范本
2014/04/22 职场文书
代理人委托书
2014/08/01 职场文书
项目投资意向书范本
2015/05/09 职场文书
与死神共舞观后感
2015/06/15 职场文书
学雷锋活动简报
2015/07/20 职场文书
详解Flask开发技巧之异常处理
2021/06/15 Python
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript