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中的输入和输出功能进行读取和写入的教程
Apr 14 Python
python统计日志ip访问数的方法
Jul 06 Python
Python中的urllib模块使用详解
Jul 07 Python
python中的错误处理
Apr 10 Python
Python画图学习入门教程
Jul 01 Python
Django卸载之后重新安装的方法
Mar 15 Python
django 修改server端口号的方法
May 14 Python
python爬取哈尔滨天气信息
Jul 14 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
python创建子类的方法分析
Nov 28 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
Feb 17 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
Jun 28 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
用PHP书写安全的脚本代码
2012/02/05 PHP
初识laravel5
2015/03/02 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
jQuery 使用手册(六)
2009/09/23 Javascript
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
在Python的Django框架中包装视图函数
2015/07/20 Python
Python金融数据可视化汇总
2017/11/17 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
Python笔记之工厂模式
2019/11/20 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
python中Django文件上传方法详解
2020/08/05 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
信息专业大学生自我评价分享
2014/01/17 职场文书
小学生评语集锦
2014/04/18 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
行政助理岗位职责
2015/02/10 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
会计入职心得体会
2016/01/22 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android