(Windows下) Python3.6+OpenCV进行人脸识别的环境搭建

一、环境是Windows下,python3.6,OpenCV选择opencv_python‑3.4.0‑cp36‑cp36m‑win_amd64.whl(根据Python的版本和电脑64位还是32位选择相应的安装包)

  OpenCV下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

  由于众所周知的原因,直接使用pip安装模块经常会出现失败的情况,因此最好事先下载好相应的.whl,把下载好的.whl拷贝到python\Lib\site-packages文件夹。开始菜单cmd进入命令窗口然后使用pip进行安装,安装命令为:pip install opencv_python‑3.4.0‑cp36‑cp36m‑win_amd64.whl安装成功后,问题解决。


二、第一个人脸识别案例

人脸识别中会运用到的技术有OpenCV(调用摄像头、图片灰度处理),numpy(图片数字化,这个模块也要事先安装好),os(文件的操作和处理),keras(构建神经网络进行图像识别)。
1、打开摄像头拍摄视频或者读取工作路径下的图片、视频,一帧一帧读取图片;
2、灰度转换:将BGR图片转换成灰度的图片可以降低计算强度;
3、画图;
4、显示图像;
5、获取人脸识别训练数据;
6、探测人脸;

import numpy as np 
import cv2
import sys

def CatVideo():
    cv2.namedWindow("CaptureFace")
    #1调用摄像头,也可以读取工作目录下的视频'/*/*/*.avi'
    cap=cv2.VideoCapture(0)
    #2人脸识别器分类器  GIT上面有开源的分类集,可以从下面的云盘里下载
    classfier=cv2.CascadeClassifier("haarcascade_frontalface_alt2.xml")
    color=(0,255,0)
    while cap.isOpened():
        ok,frame=cap.read()
        if not ok:
            break
        #3灰度转换
        grey=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
        #4人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
        faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 3, minSize = (32, 32))
        if len(faceRects) > 0:            #大于0则检测到人脸                                   
            for faceRect in faceRects:  #单独框出每一张人脸
                 x, y, w, h = faceRect  #5画图   
                 cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 3)
        cv2.imshow("CaptureFace",frame)
        if cv2.waitKey(10)&0xFF==ord('q'):
            break

    cap.release()
    cv2.destroyAllWindows()

CatVideo()
分类集下载链接:https://pan.baidu.com/s/1dKi7dO 密码:9t6w





猜你喜欢

转载自blog.csdn.net/qq_22235957/article/details/79110856
今日推荐