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 排列组合之itertools
Mar 20 Python
python打开url并按指定块读取网页内容的方法
Apr 29 Python
python动态性强类型用法实例
May 09 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
Nov 29 Python
Python多重继承之菱形继承的实例详解
Feb 12 Python
Python创建空列表的字典2种方法详解
Feb 13 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
May 11 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
如何利用python实现Simhash算法
Jun 28 Python
详解Golang如何实现支持随机删除元素的堆
Sep 23 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
html中select语句读取mysql表中内容
2006/10/09 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
js获取客户端操作系统类型的方法【测试可用】
2016/05/27 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
Python多进程编程技术实例分析
2014/09/16 Python
多个应用共存的Django配置方法
2018/05/30 Python
通过Pandas读取大文件的实例
2018/06/07 Python
django 消息框架 message使用详解
2019/07/22 Python
信号生成及DFT的python实现方式
2020/02/25 Python
keras中的backend.clip用法
2020/05/22 Python
python自动化测试三部曲之request+django实现接口测试
2020/10/07 Python
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
英语邀请函范文
2015/02/02 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
十月围城观后感
2015/06/08 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis
Python如何使用循环结构和分支结构
2022/04/13 Python
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers