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实现排序算法
Feb 14 Python
设计模式中的原型模式在Python程序中的应用示例
Mar 02 Python
python中将函数赋值给变量时需要注意的一些问题
Aug 18 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
python 执行文件时额外参数获取的实例
Dec 18 Python
python多线程调用exit无法退出的解决方法
Feb 18 Python
Django框架使用mysql视图操作示例
May 15 Python
python如何统计代码运行的时长
Jul 24 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
python读取ini配置的类封装代码实例
Jan 08 Python
Python 批量下载阴阳师网站壁纸
May 19 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介绍篇
2010/10/26 PHP
深入PHP异步执行的详解
2013/06/03 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
JavaScript函数使用的基本教程
2015/06/04 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
2016/05/17 Javascript
JS实现关闭当前页而不弹出提示框的方法
2016/06/22 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
react 生命周期实例分析
2020/05/18 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
Python随机数用法实例详解【基于random模块】
2017/04/18 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
Python实现最常见加密方式详解
2019/07/13 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
python3字符串输出常见面试题总结
2020/12/01 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
简述数组与指针的区别
2014/01/02 面试题
《小石潭记》教学反思
2014/02/13 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python