• Python3.5+openCv进行人脸识别的环境搭建(Windows下)


    一、环境是Windows下,python3.5,openCv选择opencv_python‑3.3.1+contrib‑cp35‑cp35m‑win_amd64.whl (一定要选择cp35的,电脑64位就选择64的)

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

      (其他方法可以下载openCv到本地,将opencv里的cv2.pyd拷贝到pythonLibsite-package文件夹后。但是我这样操作后还是存在同样的问题。尝试了各种办法均以失败告终。
          后来了解到可能是python和opencv版本不兼容的问题,于是删除了opencv文件,下载了对应于python3.5的opencv。我的python是3.5.3所以opencv对应选择cp35的版本       opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl(这里需要注意如果python安装的是32位的版本那么opencv也应该选择32位的版本,否则opencv会安装失败)。

      把下载好的.whl拷贝到pythonLibsite-packages文件夹。开始菜单cmd进入命令窗口然后使用pip进行安装,安装命令为:pip install opencv_python-3.2.0+contrib-cp35-cp35m-    win_amd64.whl安装成功后,问题解决。)

    二、openCv小试牛刀(附赠openCv教程)

    1显示图片(两种方式,一种用matplotlib,一种用openCv)

        

    2.调用摄像头识别人脸

    运用的技术有opencv(摄像头、图片处理),numpy(图片数字化),os(文件的操作和处理),keras(构建神经网络进行图像识别)。

    1读取图片、视频
    2灰度转换:灰度转换的作用就是:转换成灰度的图片的计算强度得以降低
    3画图
    4显示图像
    5获取人脸识别训练数据
    6探测人脸

     1 import numpy as np 
     2 import cv2
     3 import sys
     4 
     5 def CatVideo():
     6     cv2.namedWindow("shibie")
     7     #1调用摄像头
     8     cap=cv2.VideoCapture(0)
     9     #2人脸识别器分类器   Train.xml可以自行下载,也可以去我git下载,地址稍后发布
    10     classfier=cv2.CascadeClassifier("Train.xml")
    11     color=(0,255,0)
    12     while cap.isOpened():
    13         ok,frame=cap.read()
    14         if not ok:
    15             break
    16         #3灰度转换
    17         grey=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    18         #4人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
    19         faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 3, minSize = (32, 32))
    20         if len(faceRects) > 0:            #大于0则检测到人脸      
    21             print("测试1")                             
    22             for faceRect in faceRects:  #单独框出每一张人脸
    23                  x, y, w, h = faceRect  #5画图   
    24                  cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 3)
    25         cv2.imshow("shibie",frame)
    26         print("ceshi2")
    27         if cv2.waitKey(10)&0xFF==ord('q'):
    28             break
    29 
    30     cap.release()
    31     cv2.destroyAllWindows()
    32 
    33 
    34 
    35 CatVideo()

     git地址:https://github.com/chaoyuebeijita/face.git

  • 相关阅读:
    .net core mvc接收参数为nullr的解决方法
    BaseAdapter的编写,做记录
    ASP.NET Core 使用Razor Post请求时报400的解决方法
    关于虚拟机模板测试时的几个小细节
    华为私有云sftp第三方备份服务器配置
    bpf:No ELF library support compiled in. salami
    ebpf xdp和tc salami
    tc 指定IP段进行限速丢包 salami
    Linux(CentOS)GLIBC出错补救方式 salami
    panic: reflect: reflect.Value.SetUint using value obtained using unexported field(go语言) salami
  • 原文地址:https://www.cnblogs.com/ylzj/p/8041810.html
Copyright © 2020-2023  润新知