Python人脸识别初探
作者:_Rick_ 发布时间:2023-01-24 09:39:58
标签:Python,人脸识别
本文实例为大家分享了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.效果对比
4.参考资料
python使用opencv进行人脸识别
Python+OpenCV人脸检测原理及示例详解
python利用OpenCV2实现人脸检测
来源:http://blog.csdn.net/u013542440/article/details/51039608
0
投稿
猜你喜欢
- 本文实例讲述了Python字典生成式、集合生成式、生成器用法。分享给大家供大家参考,具体如下:字典生成式:跟列表生成式一样,字典生成式用来快
- 如下所示:import cv2import mathimport numpy as npdef move(img): height, wid
- SQL Server 2000 的 XML 功能可以简化将现有代码作为 Web 服务提供的任务。本文集中讨论了传入和传出 Transact
- 六、XML展望 任何一项新技术的产生都是有其需求背景的,XML的诞生是在HTML遇到不可克服的困难之后。近年来HTML在许多复杂的Web应用
- %matplotlib inline是一个魔法函数(Magic Functions)。官方给出的定义是:IPython有一组预先定义好的所谓
- 一个asp读取数据库中数据到数组的类,仅供参考!DbPath = "test.mdb"’数据库位置&
- (一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,
- 在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利
- (一)连接连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该如何设置它们。1、max_connections这是Web服务器允
- 加密与解密原理的一个例子 package lockunlock; import Java.awt.*;&nb
- 设计模式:迭代迭代是一种设计模式,解决有序便利序列的问题。通用的可迭代对象需要支持done和next方法。伪代码如下:while not i
- 前言我们在学习MATLAB使用过程中可能需要用到Excel中的数据,那么matlab和Excel该如何交互呢?下面这篇文章带大家一起来看看1
- 1、Model signalsdjango.db.models.signales 作用于django的model操作上的一系列信号1)pre
- 一、利用ASP和ADO实现数据库操作的工作流程ASP内嵌了五个对象Resquest、Response、Server、Seesion、Appl
- 在ASP中,你可通过VBScript和其他方式调用自程序。实例:调用使用VBScript的子程序如何从ASP调用以VBScript编写的子程
- python ThreadPoolExecutor线程池的工作线程中出现异常时,主线程不会捕获异常。解决方法1:直接在需要执行的任务方法中添
- 其实这个问题落伍谈了n次了其中care4也说了两次所以如果你有问题最好先搜索一下 说不定问题早有人解决了http://www.im286.c
- 从MySQL 5.0.2开始,通过mysql_stmt_attr_set() C API函数实现了服务器端光标。服务器端光标允许在服务器端生
- 在填写表单的时候为了让用户有更好的体验,有时需要根据用户的输入出现提示共用户选择,我这个就是根据输入的内容,从数据库取出相关内容以供选择,这
- 先来说eval的用法,内容比较简单,熟悉的可以跳过。eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执