当前位置:首页 > 编程教程 > Python技术文章 > python调用OpenCV实现人脸识别功能

python使用OpenCV实现人脸识别

  • 发布时间:
  • 作者:码农之家
  • 点击:119

这篇文章主要知识点是关于python、OpenCV、人脸识别、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python游戏编程快速上手
  • 类型:Python大小:41.2 MB格式:PDF作者:斯维加特
立即下载

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")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

Python 相关电子书
学习笔记
网友NO.995103

详解python利用Opencv实现人脸识别功能

本文实例为大家分享了python利用Opencv实现人脸识别功能的具体代码,供大家参考,具体内容如下 首先:需要在在自己本地安装opencv具体步骤可以问度娘 如果从事于开发中的话建议用第三方的人脸识别(推荐阿里) 1、视频流中进行人脸识别 # -*- coding: utf-8 -*- import cv2import sysfrom PIL import Image def CatchUsbVideo(window_name, camera_idx): cv2.namedWindow(window_name) # 视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头 cap = cv2.VideoCapture(camera_idx) # 告诉OpenCV使用人脸识别分类器 classfier = cv2.CascadeClassifier(/usr/share/opencv/haarcascades/haarcascade_frontalface_alt2.xml) # 识别出人脸后要画的边框的颜色,RGB格式 color = (0, 255, 0) count=0 while cap.isOpened(): ok, frame = cap.read() # 读取一帧数据 if not ok: break # 将当前帧转换成灰度图像 grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 人脸检测,1.2和2分别……

网友NO.925903

Python基于Opencv来快速实现人脸识别过程详解(完整版)

前言 随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界。 首先看一下本实验需要的数据集,为了简便我们只进行两个人的识别,选取了beyond乐队的主唱黄家驹和贝斯手黄家强,这哥俩长得有几分神似,这也是对人脸识别的一个考验: 两个文件夹,一个为训练数据集,一个为测试数据集,训练数据集中有两个文件夹0和1,之前看一些资料有说这里要遵循“slabel”命名规则,但后面处理起来比较麻烦,因为目前opencv接受的人脸识别标签为整数,那我们就直接用整数命名吧: 为了方便,我们每个人用20张照片来训练,0代表黄家驹,1代表黄家强: 开始啦: 1.检测人脸 这应该是最基本的,给我们一张图片,我们要先检测出人脸的……

网友NO.807667

基于python3 OpenCV3实现静态图片人脸识别

本文采用OpenCV3和Python3 来实现静态图片的人脸识别,采用的是Haar文件级联。 首先需要将OpenCV3源代码中找到data文件夹下面的haarcascades文件夹里面包含了所有的OpenCV的人脸检测的XML文件,这些文件可以用于检测静态,视频文件,摄像头视频流中的人脸,找到haarcascades文件夹后,复制里面的XML文件,在你新建的Python脚本文件目录里面建一个名为cascades的文件夹,并把复制的XML文件粘贴到新建的文件夹中一些有人脸的的图片,这个大家可以自行百度。 创建一个识别人脸的函数detect() def detect(img): #函数声明了一个face_cascade的变量,该变量为CascadeClassifier的对象,用于检测人脸(frontalface) face_cascade = cv2.CascadeClassifier('./cascades/haarcascade_frontalface_default.xml') #进行灰度化处理 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #进行实际的人脸检测,传递参数是scaleFactor和minNeighbor,分别……

网友NO.433045

Python基于OpenCV库Adaboost实现人脸识别功能详解

本文实例讲述了Python基于OpenCV库Adaboost实现人脸识别功能。分享给大家供大家参考,具体如下: 以前用Matlab写神经网络的面部眼镜识别算法,研究算法逻辑,采集大量训练数据,迭代,计算各感知器的系数。。。相当之麻烦~而现在运用调用pythonOpenCV库Adaboost算法,无需知道算法逻辑,无需进行模型训练,人脸识别变得相当之简单了。 需要用到的库是opencv(open source computer vision),下载安装方式如下: 使用 pip install numpy 语句安装numpy (如果出现错误: Microsoft Visual C++ 9.0 is required unable to find vcvarsall.bat ,使用管理员身份安装 Microsoft Visual C++ 9.0,重新启动计算机,再使用使用 pip install numpy 语句安装numpy opencv2.4.10下载 下载之后解压(随便解压到哪里),将解压目录opencv文件夹中,build-python-2.7-x86下的文件cv2.pyd 复制到 python2.7\Lib\site-packages 中 测试是否安装成功……

<
1
>

Copyright 2018-2020 www.xz577.com 码农之家

版权投诉 / 书籍推广 / 赞助:520161757@qq.com