查看: 4343|回复: 1

香蕉派 BPI-M2 Ultra利用Python+OpenCV人脸识别

[复制链接]
  • TA的每日心情
    奋斗
    2022-10-13 10:27
  • 签到天数: 216 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2017-1-23 23:31:47 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 windworld-1898442 于 2017-1-23 23:33 编辑

    前面已经为opencv搭建好了人脸识别所需的各种环境,包括摄像头的驱动Python开发环境以及SimpleCV库函数,这里简单整理成下面步骤一起看看效果
    步骤一:搭建opencv开发环境
    参考前面步骤
    香蕉派 BPI-M2 Ultra 安装OpenCV方法总结
    步骤二:安装SimpleCV库函数
    1. sudo apt-get install ipython python-opencv python-scipy python-numpy python-setuptools
    2. python-pip
    3. sudo pip install https://github.com/ingenuitas/SimpleCV/zipball/master
    4. sudo apt-get install python-pygame
    5. sudo apt-get install python-imaging
    复制代码
    步骤三:开发插入UVC摄像头并测试
    [size=13.3333px]香蕉派 BPI-M2 Ultra 安装mplayer测试

    步骤四:Python实现人脸识别程序
    1. #!/usr/bin/env python
    2. from SimpleCV import *
    3. from time import sleep
    4. myCamera = Camera(prop_set={'width':320, 'height': 240})
    5. myDisplay = Display(resolution=(320, 240))
    6. while not myDisplay.isDone():
    7.    frame = myCamera.getImage()
    8.    faces = frame.findHaarFeatures('face')
    9.    if faces:
    10.      for face in faces:
    11.         print "Face at: " + str(face.coordinates())
    12.         facelayer = DrawingLayer((frame.width,frame.height))
    13.         w=face.width()
    14.         h=face.height()
    15.         print "x:"+str(w)+" y:"+str(h)
    16.         facebox_dim = (w,h)
    17.         facebox = facelayer.centeredRectangle(face.coordinates(),facebox_dim)
    18.         frame.addDrawingLayer(facelayer)
    19.         frame.applyLayers()
    20.                 print "faces has detected."
    21.    else:
    22.         print "No faces detected."
    23.    frame.save(myDisplay)
    24.    sleep(.1)
    复制代码
    说明:
    myCamera =Camera(prop_set={'width':320, 'height': 240})
    #指定摄像头影像尺寸
    myDisplay =Display(resolution=(320, 240))
    #显示窗口大小
    frame =myCamera.getImage()
    #获取视频流摄像头影像
    faces =frame.findHaarFeatures('face')
    #寻找人脸
    facebox =facelayer.centeredRectangle(face.coordinates(),facebox_dim)
    frame.addDrawingLayer(facelayer)
    #框出识别到的人脸并把图层放到画面上
    print "Nofaces detected."
    #如果未检测到人脸打印信息
    QQ截图20170123233125.jpg


    修改后.jpg





    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2017-10-18 20:34
  • 签到天数: 19 天

    连续签到: 4 天

    [LV.4]偶尔看看III

    发表于 2017-9-23 20:07:52 | 显示全部楼层
    大佬这个具体要怎么实现  现在还是小白 需要准备些什么知识呢?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 18:32 , Processed in 0.126855 second(s), 21 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.