热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

百度人脸识别之人脸识别FaceIdentify(签到考勤)

这篇文章主要为大家详细介绍了百度人脸识别之人脸识别FaceIdentify,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了百度人脸识别之人脸识别FaceIdentify,供大家参考,具体内容如下


using System.Collections.Generic;
using UnityEngine;
using Baidu.Aip.Face;
using Newtonsoft.Json.Linq;
using UnityEngine.UI;
using System.IO;
 
//识别,(用于签到考勤)
public class FaceIdentify : MonoBehaviour {
 
  private Face client;//百度API接口
  private JObject result;//识别数据的返回结果
  private byte[] image;//图片字节数
  private Dictionary optiOns= new Dictionary();//多参数
  private double scores;//返回的分数,用来判定识别是否达标
  private string group_id;//用户所在的用户组,或者说部门
  private int error_code;//返回得错误代码
  private string error_msg;//返回得错误提示信息
  public Text DebugText;
  public Text DebugText1;
  public Text DebugText2;
  private string result_group_id;//result返回的用户组数据
  private string result_uid;//result返回的用户id数据
  private string result_user_info;//result 返回的用户信息数据
  public bool isSuccess = false;
 
  private void Awake()
  {
    client = new Face(AccessToken.client_id, AccessToken.client_secret);
    AccessToken.ClientCallback();//获取证书
  }
 
  private void Start()
  {
    DebugText.text = "";
    DebugText1.text = "";
    DebugText2.text = "";
  }
  public void faceIdentify()
  {
    Invoke("Identify", 5.0f);
  }
 
  void Identify()
  {
    group_id = "U3D1";
    string path = Application.dataPath + "/ScreenShot/" + WebCamera.ScreenShotTexture2D + ".jpg";
    image = File.ReadAllBytes(path);
    optiOns= new Dictionary()
    {
      {"ext_fileds","faceliveness" },
      {"user_top_num",1 }//最大返回5个识别数
    };
    try//避免出现网络异常导致错误
    {
      result = client.Identify(group_id, image, options);
      Debug.Log(result);
      
      error_code = int.Parse(result["error_code"].ToString());//先把json数据转成字符串,再转成int类型
      error_msg = result["error_msg"].ToString();//把返回的json错误信息转成字符串
      switch (error_code)
      {
        case 216100:
          DebugText.text = "invalid param 参数异常,请重新填写注册信息";
          break;
        case 216611:
          DebugText.text = "user not exist 用户id不存在,请确认该用户是否注册或注册已经生效(需要已经注册超过5s)";
          break;
        case 216401:
          DebugText.text = "internal error 内部错误";
          break;
        case 216402:
          DebugText.text = "face not found 未找到人脸,请检查图片是否含有人脸";
          break;
        case 216500:
          DebugText.text = "unknown error 未知错误";
          break;
        case 216615:
          DebugText.text = "fail to process images 服务处理该图片失败,发生后重试即可";
          break;
        case 216618:
          DebugText.text = "no user in group 组内用户为空,确认该group是否存在或已经生效(需要已经注册超过5s)";
          break;
        default:
          DebugText.text = error_msg;
          break;
      }
      if (error_code != 216100 || error_code != 216101|| error_code != 216401
        || error_code != 216402 || error_code != 216500 || error_code != 216615 || error_code != 216618)
      {
        DebugText1.text = result.ToString();//显示返回的数据信息
       
 
      }
    }
    catch
    {
      if (error_code != 216100 || error_code != 216101 || error_code != 216401
         || error_code != 216402 || error_code != 216500 || error_code != 216615 || error_code != 216618)
      {
        JToken res = result["result"];
        scores = double.Parse(res[0]["scores"][0].ToString());
        if (scores > 80.0f)
        {
          result_uid = res[0]["uid"].ToString();
          result_group_id = res[0]["group_id"].ToString();
          result_user_info = res[0]["user_info"].ToString();
 
          DebugText1.text = "识别成功,今日已签到!";
          DebugText2.text = result_uid+"\n"+ result_group_id+"\n" + result_user_info;
          Debug.Log(result_uid.ToString() + result_group_id.ToString() + result_user_info.ToString());
        }
        else
        {
          DebugText1.text = "失败,请重新识别!";
        }
      }
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 如何在 Angular 4 中实现跨域调用百度人脸识别 API? ... [详细]
  • 强人工智能时代,区块链的角色与前景
    随着强人工智能的崛起,区块链技术在新的技术生态中扮演着怎样的角色?本文探讨了区块链与强人工智能之间的互补关系及其在未来技术发展中的重要性。 ... [详细]
  • 深入解析Apache SkyWalking CVE-2020-9483 SQL注入漏洞
    本文详细探讨了Apache SkyWalking中的SQL注入漏洞(CVE-2020-9483),特别是其影响范围、漏洞原因及修复方法。Apache SkyWalking是一款强大的应用性能管理工具,广泛应用于微服务架构中。然而,该漏洞使得未经授权的攻击者能够通过特定的GraphQL接口执行恶意SQL查询,从而获取敏感信息。 ... [详细]
  • 利用Dlib进行高效的人脸特征提取与识别
    本文介绍了Dlib库,一个集成了多种机器学习算法的C++工具包,特别适用于需要处理复杂任务的应用场景。Dlib不仅支持机器人技术、嵌入式系统开发、移动应用及高性能计算环境,还提供了强大的人脸检测与特征提取功能。 ... [详细]
  • Android平台下的人脸识别应用:FaceU的深度解析与技术探讨
    FaceU是一款由今日头条脸萌团队开发的拍照相机应用,支持iOS和Android平台。自2014年底启动开发以来,FaceU通过其创新的人脸识别技术和丰富的滤镜效果,在2015年9月迅速获得了用户的广泛认可。本文将深入解析FaceU的技术架构和实现方法,探讨其在Android平台下的应用前景和优化策略。 ... [详细]
  • 提供便捷的在线服务,用于JSON数据的查看、编辑和格式化,适合开发者和数据处理人员使用。 ... [详细]
  • 本文介绍如何在Laravel框架中集成微信支付功能,包括如何配置微信支付环境、处理支付请求及接收支付回调等关键步骤。 ... [详细]
  • Python数据类型6 字典
    字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包 ... [详细]
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文探讨了如何通过WebBrowser控件在用户点击输入框时自动显示图片验证码。该过程可能涉及JavaScript事件的触发与响应。 ... [详细]
  • 近期,为编制《2018中国人工智能应用与生态研究报告》,中国软件网对国内人工智能产业的应用现状、平台建设和生态系统进行了深入调研。本报告详细分析了当前人工智能企业的发展阶段,并对其未来前景进行了全面评估。研究发现,人工智能技术在多个领域取得了显著进展,但同时也面临诸多挑战,如数据安全、技术成熟度和人才短缺等。报告还探讨了政策支持、行业合作和技术突破对推动人工智能产业发展的关键作用。 ... [详细]
  • 本文探讨了一种创新的RGBD多模态融合技术在人脸识别中的应用,该方法通过深度学习算法有效整合了不同模态数据的共有及独特特征,显著增强了系统的识别精度与鲁棒性。此技术特别适用于需要高安全性和准确性的多模态交互场景,如智能监控和身份验证系统。 ... [详细]
  • 利用TensorFlow.js在网页浏览器中实现高效的人脸识别JavaScript接口
    作者|VincentMühle编译|姗姗出品|人工智能头条(公众号ID:AI_Thinker)【导读】随着深度学习方法的应用,浏览器调用人脸识别技术已经得到了更广泛的应用与提升。在 ... [详细]
author-avatar
幸福璞子难_197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有