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实现人脸检测

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python实现人脸识别代码

    从实时视频流中识别出人脸区域,从原理上看,其依然属于机器学习的领域之一,本质上与谷歌利用深度学习识别出猫没有什么区别.程序通过大量的人脸图片数据进行训练,利用数学算法建立建立可靠的人脸特征模型,如此即可识别出人脸.幸运的是,这些工作OpenCV已经帮我们做了,我们只需调用对应的API函数即可,先给出代码: #-*- coding: utf-8 -*- import cv2 import sys from PIL import Image def CatchUsbVideo(window_name

  • python+opencv实现的简单人脸识别代码示例

    # 源码如下: #!/usr/bin/env python #coding=utf-8 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_BGR2GR

  • python使用opencv进行人脸识别

    环境 ubuntu 12.04 LTS python 2.7.3 opencv 2.3.1-7 安装依赖 sudo apt-get install libopencv-* sudo apt-get install python-opencv sudo apt-get install python-numpy 示例代码 #!/usr/bin/env python #coding=utf-8 import os from PIL import Image, ImageDraw import cv d

  • Python 40行代码实现人脸识别功能

    前言 很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了.这些人里包括曾经的我自己.其实如果如果你不是非要深究其中的原理,只是要实现这一工作的话,人脸识别也没那么难.今天我们就来看看如何在40行代码以内简单地实现人脸识别. 一点区分 对于大部分人来说,区分人脸检测和人脸识别完全不是问题.但是网上有很多教程有无无意地把人脸检测说成是人脸识别,误导群众,造成一些人认为二者是相同的.其实,人脸检测解决的问题是确定一张图上有木有人脸,而人

  • 详解如何用OpenCV + Python 实现人脸识别

    下午的时候,配好了OpenCV的Python环境,OpenCV的Python环境搭建.于是迫不及待的想体验一下opencv的人脸识别,如下文. 必备知识 Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等. opencv api 要想使用opencv,就必须先知道其能干什么,怎么做.于是API的重要性便体现出来了.就本例而言,使用到的函数

  • 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

  • 简单的Python人脸识别系统

    案例一 导入图片 思路: 1.导入库 2.加载图片 3.创建窗口 4.显示图片 5.暂停窗口 6.关闭窗口 # 1.导入库 import cv2 # 2.加载图片 img = cv2.imread('a.png') # 3.创建窗口 cv2.namedWindow('window 1 haha') # 4.显示图片 cv2.imshow('window 1',img) # 5.暂停窗口 cv2.waitKey(0) # 6.关闭窗口 cv2.destroyAllWindows() 案例二 在图片

  • Python人脸识别之微笑检测

    目录 一.实验准备 二.图片预处理 三.划分数据集 四.CNN提取人脸识别笑脸和非笑脸 1.创建模型 2.归一化处理 3.数据增强 4.创建网络 5.单张图片测试 6.摄像头实时测试 五.Dlib提取人脸特征识别笑脸和非笑脸 一.实验准备 环境搭建 pip install tensorflow==1.2.0 pip install keras==2.0.6 pip install dlib==19.6.1 pip install h5py==2.10 如果是新建虚拟环境,还需安装以下包 pip

  • Python人脸识别第三方库face_recognition接口说明文档

    1. 查找图像中出现的人脸 代码示例: #导入face_recognition模块 import face_recognition #将jpg文件加载到numpy数组中 image = face_recognition.load_image_file("your_file.jpg") #查找图片中人脸(上下左右)的位置,图像中可能有多个人脸 #face_locations的值类似[(135,536,198,474),()] Face_locations = face_recogniti

  • python实现人脸识别经典算法(一) 特征脸法

    近来想要做一做人脸识别相关的内容,主要是想集成一个系统,看到opencv已经集成了三种性能较好的算法,但是还是想自己动手试一下,毕竟算法都比较初级. 操作环境:python2.7 第三方库:opencv for python.numpy 第一种比较经典的算法就是特征脸法,本质上其实就是PCA降维,这种算法的基本思路是,把二维的图像先灰度化,转化为一通道的图像,之后再把它首尾相接转化为一个列向量,假设图像大小是20*20的,那么这个向量就是400维,理论上讲组织成一个向量,就可以应用任何机器学习算

  • 人脸识别经典算法一 特征脸方法(Eigenface)

    这篇文章是撸主要介绍人脸识别经典方法的第一篇,后续会有其他方法更新.特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的.特征脸用到的理论基础PCA在另一篇博客里:特征脸(Eigenface)理论基础-PCA(主成分分析法).本文的参考资料附在最后了^_^ 步骤一:获取包含M张人脸图像的集合S.在我们的例子里有25张人脸图像(虽然是25个不同人的人脸的图像,但是看着怎么不像呢,难道我有脸盲症么),如下图所示哦.每张图像可以转换成一个N维的向量(是的,没错,一个像素一个像素的

  • 20行python代码实现人脸识别

    OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python. 它使用机器学习算法在图像中搜索人的面部.对于人脸这么复杂的东西,并没有一个简单的检测能对是否存在人脸下结论,而需要成千上万的特征匹配.算法把人脸识别任务分解成数千个小任务,每个都不难处理.这些任务也被称为分类器. 对于类似于人脸的对象,你或许需要不少于 6000 个分类器,每一个都需要成功匹配(当然,有容错率),才能检测出人脸.但这有一个问题:对于人脸识别,算法从左上角开始计算一个个数据块,不停问"这

  • python opencv3实现人脸识别(windows)

    本文实例为大家分享了python人脸识别程序,大家可进行测试 #coding:utf-8 import cv2 import sys from PIL import Image def CatchUsbVideo(window_name, camera_idx): cv2.namedWindow(window_name) # 视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头 cap = cv2.VideoCapture(camera_idx) # 告诉OpenCV使用人脸识别分类器

  • python调用百度API实现人脸识别

    1.代码 from aip import AipFace import cv2 import time import base64 from PIL import Image from io import BytesIO import pyttsx3 # """ 你的 APPID AK SK """ APP_ID = '1965####' API_KEY = 'YXL65ekIloykyjrT4kzc####' SECRET_KEY = 'lFi

  • python实现图片,视频人脸识别(dlib版)

    图片人脸检测 #coding=utf-8 import cv2 import dlib path = "img/meinv.png" img = cv2.imread(path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #人脸分类器 detector = dlib.get_frontal_face_detector() # 获取人脸检测器 predictor = dlib.shape_predictor( "C:\\Pytho

随机推荐