总在科幻电影里看到人脸识别,现在我们也可以编程来实现啦。哈哈~~
OpenCV是Intel®开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库–尽管也可以使用某些外部库。它还提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方

面的很多通用算法。

所以总体来说OpenCV的人脸检测功能在是很不错的。

效果图如下:

下面我们就用python + OpenCV实现人脸识别。

开发运行环境:
Centos5.5
OpenCV
python2.7
PIL

下面上代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-# face_detect.py# Face Detection using OpenCV. Based on sample code from:
# http://www.pythontab.com# Usage: python face_detect.pyimport sys, os
#引入opencv库中的相应组件
from opencv.cv import *
from opencv.highgui import *
#引入PIL库
from PIL import Image, ImageDraw
from math import sqrtdef detectObjects(image):#首先把图片转换为灰度模式,以便找到人脸位置grayscale = cvCreateImage(cvSize(image.width, image.height), 8, 1)cvCvtColor(image, grayscale, CV_BGR2GRAY)storage = cvCreateMemStorage(0)cvClearMemStorage(storage)cvEqualizeHist(grayscale, grayscale)cascade = cvLoadHaarClassifierCascade(\'/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml\',cvSize(1,1))faces = cvHaarDetectObjects(grayscale, cascade, storage, 1.1, 2,CV_HAAR_DO_CANNY_PRUNING, cvSize(20,20))result = []for f in faces:result.append((f.x, f.y, f.x+f.width, f.y+f.height))return resultdef grayscale(r, g, b):return int(r * .3 + g * .59 + b * .11)def process(infile, outfile):image = cvLoadImage(infile);if image:faces = detectObjects(image)im = Image.open(infile)if faces:draw = ImageDraw.Draw(im)for f in faces:draw.rectangle(f, outline=(255, 0, 255))im.save(outfile, "JPEG", quality=100)else:print "Error: cannot detect faces on %s" % infileif __name__ == "__main__":process(\'input.jpg\', \'output.jpg\')

代码到此结束,上面的例子看不懂,没关系,因为我们大量使用了库里面的函数和方法,如果看不懂,我们可以去网上查或者使用手册,只要借助这些看懂这段代码就ok,重要的是掌握其中的人脸识别实现思想

Python+OpenCV人脸识别技术详解相关推荐

  1. python人脸识别opencv_Python基于Opencv来快速实现人脸识别过程详解(完整版)

    前言 随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界. 首先看一下本实验需要的数据集,为 ...

  2. 高帧率扑克牌识别技术详解一(可用于车牌识别,字符识别,人脸检测,验证码识别等等成熟领域)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 高帧率扑 ...

  3. 基于python opencv人脸识别的签到系统

    基于python opencv人脸识别的签到系统 前言 先看下效果 实现的功能 开始准备 页面的构建 功能实现 代码部分 总结 前言 一个基于opencv人脸识别和TensorFlow进行模型训练的人 ...

  4. python学习之基于Python的人脸识别技术学习

    摘要: 面部识别技术的应用越来越广泛,它广泛应用于安全系统.人机交互.社交媒体.医疗保健等领域.本文介绍了基于Python的人脸识别技术,包括人脸检测.人脸特征提取和人脸识别三个部分.我们使用Open ...

  5. Python+OpenCV人脸识别签到考勤系统(新手入门)

    Python+OpenCV人脸识别签到考勤系统(新手入门) 前言 项目效果图 项目需要的环境 编译器 辅助开发QT-designer 项目配置 代码部分 核心代码 项目目录结构 后记 正式版改进 项目 ...

  6. python opencv人脸识别考勤系统的完整源码

    这篇文章主要介绍了python opencv人脸识别考勤系统的完整源码,本文给大家介绍的非常详细,希望对大家的学习或工作具有一定的参考借鉴价值. 代码如下: import wx import wx.g ...

  7. Python+opencv 人脸识别

    python+opencv人脸检测+识别示例及原理解析 一.开发环境搭建 二.图片人脸检测 2.1 文件准备与编程 2.2 注意事项 三.视频人脸识别 3.1文件准备与编程 3.2 注意事项 四.人脸 ...

  8. 基于python opencv人脸识别的员工考勤系统

    WorkAttendanceSystem 一个基于opencv人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,python课设期间. 源代码详细解释请关注微信公众号: ...

  9. opencv python考勤_Python基于Opencv来快速实现人脸识别过程详解(完整版)

    前言 随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界. 首先看一下本实验需要的数据集,为 ...

最新文章

  1. hnswlib RuntimeError: Cannot return the results in a contigious 2D array. Probably ef or M is to sma
  2. yapi-docker
  3. Servlet和SpringMVC补课
  4. 四、Go语言复合数据类型(上)
  5. 天地一体化信息网络发展与拟态技术应用构想
  6. web安全---浏览器解析提交数据的过程
  7. python新奇检测_3种Python检测URL状态
  8. 【英语学习】【WOTD】lacuna 释义/词源/示例
  9. freemarker,自定义指令
  10. xml 文件属性修改
  11. css特效动画——页面加载中 ...
  12. 《Head First设计模式》第二版中译本的译稿(摘)
  13. vue仿追书神器,vue小说项目源码
  14. java三国鼎立,网页游戏三国鼎立(武三国)一键服务端带教程及修改说明
  15. 基于和风天气API开发的天气查询小工具(含源码)
  16. 定义类Shape作为父类,并在类中定义方法求周长和面积; (2)定义Shape子类圆形(circle),具有半径属性和常量PI,同时重写父类中的方法; (3)定义Shape子类长方形(rect
  17. N-gram模型详解
  18. IT项目经理前景及优劣势分析
  19. 基于springboot的会员后台管理系统
  20. 苏格兰研发成功新型治疗结核病药物

热门文章

  1. iOS-控件响应用户控制事件之事件处理
  2. 使用 XML 实现 REST 式的 SOA
  3. [Linux命令]Sed命令参数
  4. ArcMap 水文分析 部分功能
  5. python安装第三方库win10_在win里anaconda怎么安装第三方的库
  6. 河南科技大学c语言网络教学平台,计算机基础教学部
  7. 欧拉通路 java,欧拉回路
  8. Java黑皮书课后题第3章:*3.13(金融应用:计算税款)程序清单3-5给出了计算单身登记人税款的源代码。将程序清单3-5补充完整,从而计算所有登记的婚姻状态的税款
  9. Java黑皮书课后题第1章:1.2(显示五条消息)编写程序,显示以下表格
  10. 第8.15节 Python重写自定义类的__repr__方法