微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > Python编程实例——利用Dragonboard 410c开发板实现人脸识别(二)

Python编程实例——利用Dragonboard 410c开发板实现人脸识别(二)

时间:02-08 来源:互联网 点击:

在上一期基于DragonBoard 410c开发板实现人脸识别文章中,已经教大家如何利用Python实现人脸识别的第一个部分——人脸检测功能,今天在前面人脸检测的基础上,进一步教大家如何使用createFisherFaceRecognizer在dragonbaord 410c开发板上来进行人脸识别,今天将重点介绍该方法的原理和调用方法,处理中只是以识别前面人脸检测方法检测出来的人脸和数据库中存入的人脸进行匹配,最终识别人脸对象。

首先我们需要准备人脸数据,这里我对使用上一期文章中的获取人脸的方法进行了封装,写成了getFace.py文件,通过执行该文件在Dragonboard 410c上采集了三个人的人脸,每个人的人脸采集5次不同角度数据,分别保存到了usrImg文件夹下的001、002、003文件夹中,对应的命名为1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,这些数据作为训练数据,然后基于这些数据调用FaceRecognizer提供的方法来实现对测试人脸的预测。

准备好数据后,就可以利用这些数据进行简单的人脸识别了,根据上述数据,使用Python编写程序,将数据导入到系统中,然后构建对应的训练数据集合和标签,其中相同的图片对应相同的标签数据,具体的对应方式如下:

           人脸图片                      标签

      ./usrImg/001/1.jpg               0

      ./usrImg/001/2.jpg               0

      ./usrImg/001/3.jpg               0

      ./usrImg/001/4.jpg               0

      ./usrImg/001/5.jpg               0

      ./usrImg/002/1.jpg               1

      ./usrImg/002/2.jpg               1

      ./usrImg/002/3.jpg               1

      ./usrImg/002/4.jpg               1

      ./usrImg/002/5.jpg               1

      ./usrImg/003/1.jpg               2

      ./usrImg/003/2.jpg               2

      ./usrImg/003/3.jpg               2

      ./usrImg/003/4.jpg               2

      ./usrImg/003/5.jpg               2

      在读取中,通过以下代码来读取到limg和lables两个列表中:

      dir = ['./usrImg/001/','./usrImg/002/','./usrImg/003/']
      name = ['1.jpg','2.jpg','3.jpg','4.jpg','5.jpg']
      lables = []
      limg = []
      n = 0
     for x in dir:
          for y in name:
              obj = cv2.imread(x+y,0)
              obj2=cv2.resize(obj,(400,500))
              limg.append(obj2)
              lables.append(n)
          n = n+1

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top