***QT人脸识别打卡系统设计***
- 
     系统设计需求
 
 计划做一个基于人脸识别的打卡系统,软件开发平台借助QT软件,人脸识别的模型直接调用百度人脸识别算法,使用在线API的调用,完成人脸识别分析。人脸库是整个设计的核心,借助百度云搭建自己的人脸库。打卡记录使用了SQLlite轻型数据库,完成对打卡记录的存储。
- 
     功能设计
 
 1.管理员用户模块设计,即可对打卡记录进行可视化增删改查操作
 
 2.普通用户模块,只可查看自己的打卡记录
 
 3.人脸识别模块设计,完成对人脸的分析,并提取用户相应关键属性,判断是否为人脸库用户,是则打卡并添加记录到数据库。
- 
     系统核心点
 
 设计的核心点在于如何使用百度人脸识别API,下面我将一步一步分享自己使用方法。
 
 1.首先注册一个百度云账号,注册完成后就可使用不需要别的验证。打开百度云,选择管理控制台。
 
  
 
 打开后选择
 
  
 
 进入后点击创建应用
 
  
 
 点击创建应用后可以看到,人脸识别检测等接口默认就选择了,因为这是免费的。底下的其他技术,如果还想用别的就可以选上。点击创建。
 
  
 
 创建完成后可以得到如下,APIkey和Secret Key是我们后面进行接口调用的核心。
 
  
 
 下面我们要添加自己的人脸数据库。点击如下,创建自己的人脸库
 
  
 
 先添加用户组,再在里面添加我们的人脸图片,因为,后期的API接口的返回值中,会有我们的对比最相似的人脸所在的位置,即哪个用户组下,叫什么名字(添加人脸图片时只能用英文和下滑线组成)
 
  
 
 人脸库添加完成后,我们就可以阅读技术文档了。人脸打卡的核心就是搜索当前人脸是否处在我们的人脸库中,所以我们来看人脸搜索的文档,其他的API调用基本一致,只是参数不同而已。
 
  
 
 人脸搜索API简介:请求为URL格式,使用post方法发送。这里说到URL参数必须带上access_token,而access_token的生成要用到如下:
 
 这里就用到了我们之前说的重点
 
 APIkey和Secret Key 这是我们进行应用创建时产生的
  
 
 我们先去生成自己的access_token,这里使用在线工具生成。打开http://coolaf.com/,填写如下:将 【百度云AK】换成自己的APIkey
    【百度应用的SK】换成自己的 Secret Key。
    
    
    
    输入完成后点击提交,成功则会出现如下:复制access_token,并保留,百度云在线接口的access_token有效期只有一个月,过期的话我们就得重新自己生成了,不然则无法调用相应的接口。
    
    
    
    
    
    access_token生成完成后,我们接着阅读其下内容:
    
    
    
    请求的URL为 查找,我们可以对照着 下图进行自己需要的URL
    
    
    
    
    
    如下是我们进行发送的参数设置,包头需采用添加 application/json ,这是百度云的规定
    
    
    
    将相关参数设置完成并打包发送后,我们会获得如下:
    
    
    
    
    
    这里我们就先使用 1:m的搜索模型,下面的就先不看了,到这里1:m的搜索文档已经阅读完毕,下面我们来看代码。
    
    4. 部分代码
    
    
    
    
    
    头文件的定义:
    
    
    
    
    搜索完成后进行 JSON数据格式的提取;可以先 qDebug出来查看下,
    
    
    
    搜索成功会看到类似于如下数据:
    
    
    进行数据提取:
    
    
    
    
    
    5. 分析总结
    
    这里的整个项目并没有写完,后面我会将整个工程拿出来供大家学习。
   
 
版权声明:本文为weixin_45817855原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
