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

 更新时间:2018年05月25日 09:36:28   作者:jgw2008  
这篇文章主要为大家详细介绍了python调用OpenCV实现人脸识别功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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计算无向图节点度的实例代码

    今天小编就为大家分享一篇python计算无向图节点度的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 论文查重python文本相似性计算simhash源码

    论文查重python文本相似性计算simhash源码

    这篇文章主要为大家介绍了python文本相似性计算simhash源码来实现论文的查重,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • 对python3中, print横向输出的方法详解

    对python3中, print横向输出的方法详解

    今天小编就为大家分享一篇对python3中, print横向输出的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 利用信号如何监控Django模型对象字段值的变化详解

    利用信号如何监控Django模型对象字段值的变化详解

    这篇文章主要给大家介绍了关于利用信号如何监控Django模型对象字段值变化的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-11-11
  • Python远程方法调用实现过程解析

    Python远程方法调用实现过程解析

    这篇文章主要介绍了Python远程方法调用实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 解决python3 urllib中urlopen报错的问题

    解决python3 urllib中urlopen报错的问题

    这篇文章主要介绍了关于解决python3 urllib中urlopen报错问题的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • python轻量级性能工具-Locust详解

    python轻量级性能工具-Locust详解

    Locust基于python的协程机制,打破了线程进程的限制,可以能够在一台测试机上跑高并发,这篇文章主要介绍了python轻量级性能工具-Locust,需要的朋友可以参考下
    2023-05-05
  • pycharm配置python 设置pip安装源为豆瓣源

    pycharm配置python 设置pip安装源为豆瓣源

    这篇文章主要介绍了pycharm配置python 设置pip安装源为豆瓣源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python操作SQLite/MySQL/LMDB数据库的方法

    Python操作SQLite/MySQL/LMDB数据库的方法

    这篇文章主要介绍了Python操作SQLite/MySQL/LMDB数据库的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 通过python模糊匹配算法对两个excel表格内容归类

    通过python模糊匹配算法对两个excel表格内容归类

    这篇文章主要介绍了通过python模糊匹配算法对两个excel表格内容归类,比如两个不同的工程项目针对的对象都是A,那么就需要将这两个工程项目归类到A当中,可以减少很大一部分工作量,,需要的朋友可以参考下
    2023-03-03

最新评论