python调用OpenCV实现人脸识别功能


Posted in Python onMay 25, 2018

Python调用OpenCV实现人脸识别,供大家参考,具体内容如下

硬件环境:

Win10 64位

软件环境:

Python版本:2.7.3

IDE:JetBrains PyCharm 2016.3.2

Python库:

1.1) opencv-python(3.2.0.6)

搭建过程:

OpenCV Python库:

1. PyCharm的插件源中选择opencv-python(3.2.0.6)库安装

题外话:Python入门Tips

PS1:如何安装whl文件

1.先安装PIP

2.CMD命令进入D:\Python27\Scripts里面后再执行PIP命令安装pip install wheel
如果提示'pip'不是内部或外部命令,也不是可运行的程序或批处理文件:
①将python安装目录下的scripts目录(例如D:\Python27\Scripts)添加到系统环境变量path里,注意前加分号。再执行该命令
pip install wheel
②在cmd下进入到D:\Python27\Scripts目录下执行该命令
pip install wheel

3.把文件最好放在\Script文件夹里面再pip install xxxx.whl

4.注意whl文件名不能改 必须一模一样和原名

PS2:到哪找.whl文件?

相关代码:

import cv2
import numpy as np

cv2.namedWindow("test") # Create a window
cap = cv2.VideoCapture(0) #Open camera one
success, frame = cap.read() #Read one frame

print("Camera open operation is: ", success);
color = (255,0,0) #Config the color
classfier = cv2.CascadeClassifier("Resources\haarcascade_frontalface_alt.xml")

#Make sure this xml file is in the same directory with py file
#Otherwise change it to absolute directory. This xml file can be found in D:\My 

Documents\Downloads\opencv\sources\data\haarcascades

while success:
  success, frame = cap.read()
  size = frame.shape[:2] #
  image = np.zeros(size, dtype = np.float16) #
  image = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #
  cv2.equalizeHist(image, image) #
  #Below three lines config the minimal image size
  divisor = 8
  h, w = size
  minSize = ((int)(w/divisor), (int)(h/divisor))
  faceRects = classfier.detectMultiScale(image, 1.2, 2, cv2.CASCADE_SCALE_IMAGE, minSize) #Face detect
  if len(faceRects) > 0:#If face array length > 0
    for faceRect in faceRects: #Draw a rectangle for every face
        xf, yf, wf, hf = faceRect
        x = int((float)(xf))
        y = int((float)(yf))
        w = int((float)(wf))
        h = int((float)(hf))
        cv2.rectangle(frame, (x, y), (x + w, y + h), color)
        cv2.circle(frame, ((int)(x + 1.2 * w / 4), (int)(y + h / 3)), min((int)(w / 8), (int)(h / 8)), (255, 0, 0))
        cv2.circle(frame, ((int)(x + 2.8 * w / 4), (int)(y + h / 3)), min((int)(w / 8), (int)(h / 8)), (255, 0, 0))
        #cv2.rectangle(frame, ((int)(x + 3 * w / 8, (int)(y + 3 * h / 4))), ((int)(x + 5 * w / 8), (int)(y + 7 * h / 8)), (255, 0, 0))
  cv2.imshow("test", frame) #Display image

  key = cv2.waitKey(10)
  c = chr(key & 255)
  if c in ['q', 'Q', chr(27)]:
    break

cv2.destroyWindow("test")

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

Python 相关文章推荐
Python实现全角半角转换的方法
Aug 18 Python
Python爬虫利用cookie实现模拟登陆实例详解
Jan 12 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
Python队列的定义与使用方法示例
Jun 24 Python
pandas中的DataFrame按指定顺序输出所有列的方法
Apr 10 Python
python中验证码连通域分割的方法详解
Jun 04 Python
python三大神器之fabric使用教程
Jun 10 Python
详解pyppeteer(python版puppeteer)基本使用
Jun 12 Python
基于Python函数和变量名解析
Jul 19 Python
Django 项目布局方法(值得推荐)
Mar 22 Python
keras中的loss、optimizer、metrics用法
Jun 15 Python
Python urllib request模块发送请求实现过程解析
Dec 10 Python
matplotlib subplots 设置总图的标题方法
May 25 #Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 #Python
Python unittest模块用法实例分析
May 25 #Python
使用Python的Django和layim实现即时通讯的方法
May 25 #Python
matplotlib subplots 调整子图间矩的实例
May 25 #Python
Matplotlib 生成不同大小的subplots实例
May 25 #Python
python opencv3实现人脸识别(windows)
May 25 #Python
You might like
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
使用PHP编写发红包程序
2015/07/22 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
2019/05/16 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
AmazeUI在模态框中嵌入表单形成模态输入框
2020/08/20 HTML / CSS
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
社区居务公开实施方案
2014/03/27 职场文书
党校毕业心得体会
2014/09/13 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
交通安全月活动总结
2015/05/08 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS