Unity —— 百度人脸识别SDK使用
又到了交完项目暂时么有事情的时候啦~ 然后自己无聊,突然想研究研究人脸识别 =- = 于是就开始了
零. 先在网上查Unity 人脸识别 ,你会发现网上的大部分都是 OpenCV 和 BaiduAI 的SDK ~ 于是我就选择了先看 Baidu的把~
(忘了一件事情: 百度的人脸识别SDK 更新了V3 版本,但是V2 也是能正常服务的,所以要注意)
一: 下载SDK
因为Unity 是C#语言的所以你懂的~
下载以后解压你会发现有好几个~ 因为我用的版本是5.6.1 ,查了查网上的资料,我选择了第一个 net35 (为啥查资料呢?因为unity 支持的 .NET 版本不高啊,太高的用不了,毕竟SDK 是针对C# 不是针对Unity啊)
然后打开文件夹 你会发现 有几个 .dll 的文件
然后把他们 放在 文件夹下就行了
二. 注册个百度账号,去创建你的库
创建好以后你会看到
AppID ,API Key 和 Secret Key 很重要哦~
三 . 接下来就是代码了 话不多说直接粘代码
// **********************************************************************
// Copyright (C) 2017 The company name
//
// 文件名(File Name):
// 作者(Author): Future.YS
// 创建时间(CreateTime): 2018/7/18 15:34:45
// 修改者列表(modifier):
// 模块描述(Module description): 百度人脸识别
// **********************************************************************
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Baidu.Aip.Face;
using System.IO;
using System;public class HelloFace : MonoBehaviour {// 设置private string app_ID = "";private string app_KEY = "";private string secret_KEY = "";private Face client;// 连接void Awake(){System.Net.ServicePointManager.ServerCertificateValidationCallback +=delegate (object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate,System.Security.Cryptography.X509Certificates.X509Chain chain,System.Net.Security.SslPolicyErrors sslPolicyErrors){return true; // **** Always accept};}void Start(){client = new Baidu.Aip.Face.Face (app_KEY,secret_KEY);StartCoroutine(IEGetStringBase64());}// /// <summary>
// /// 人脸注册(官网给的)
// /// </summary>
// public void UserAddDemo() {
// string image = "取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串";
//
// string imageType = "BASE64";
//
// string groupId = "Friend";
//
// string userId = "user1";
//
// // 调用人脸注册,可能会抛出网络等异常,请使用try/catch捕获
// var result = client.UserAdd(image, imageType, groupId, userId);
// print(result);
// // 如果有可选参数
// var options = new Dictionary<string, object>{
// {"user_info", "liuyizhong"},
// {"quality_control", "NORMAL"},
// {"liveness_control", "LOW"}
// };
// // 带参数调用人脸注册
// result = client.UserAdd(image, imageType, groupId, userId, options);
// print(result);
// }public void SignUpFace(string image, string imageType, string groupId, string userId){ var options = new Dictionary<string, object>{{"user_info", "liuyizhong"},{"quality_control", "NORMAL"},{"liveness_control", "LOW"}};// 带参数调用人脸注册var result = client.UserAdd(image, imageType, groupId, userId, options);}IEnumerator IEGetStringBase64() { //获取到每一张图片的路径 string[] picsPathArr = Directory.GetFiles(Application.streamingAssetsPath + "/FaceDetect/"); //循环获取每张图片的base64字符串 for (int i = 0; i < picsPathArr.Length; i++) { //unity会自动生成.meta文件,过滤掉 if (picsPathArr[i].Contains("meta")) continue; //读取 FileInfo file = new FileInfo(picsPathArr[i]); var stream = file.OpenRead(); byte[] buffer = new byte[file.Length]; //读取图片字节流 stream.Read(buffer, 0, Convert.ToInt32(file.Length)); //base64字符串 string imageBase64 = Convert.ToBase64String(buffer); //采用base64字符串方式上传 string imageType = "BASE64"; //用户组 string groupId = "Friend"; //用户id,一般同一个人的图片放在同一个id下 string userId = "liuyizhong"; //开始注册 SignUpFace(imageBase64, imageType, groupId, userId); yield return new WaitForSeconds(0.6f); } }//人脸对比public void FaceSearch(){FileInfo file = new FileInfo(Application.streamingAssetsPath + "/FaceDetect/1_1.jpg");var stream = file.OpenRead();byte[] buffer = new byte[file.Length];//读取图片字节流stream.Read(buffer, 0, Convert.ToInt32(file.Length));var image = Convert.ToBase64String(buffer);var imageType = "BASE64";//之前注册的组var groupIdList = "Friend";var result = client.Search(image, imageType, groupIdList);Debug.Log(result);}}
好了- - 之后 开始工程 你就会发现他上传到了你自己账号里~
score 就是人脸对比度 0 - 100 ~
————————————————
版权声明:本文为CSDN博主「灰了个灰」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yaojiawudi/article/details/81095428
Unity —— 百度人脸识别SDK使用相关推荐
- Unity 百度人脸识别SDK之人脸检测
前期准备 不管在调用什么SDK,都得先查看相应的SDK文档,本人比较懒,就直接贴出百度人脸检测的文档内容.之后跟着文档一步一步的去实现. 可以看到SDK的功能有人脸检测.人脸对比和查找人脸.本篇主要实 ...
- 百度人脸识别SDK的坑
百度人脸识别SDK jar包冲突: 首先是百度人脸识别的SDK的Maven依赖: com.baidu.aip java-sdk 4.11.3 <dependency><groupId ...
- android Camera2 API适配百度人脸识别SDK
Camera2 API替换Camera API之后的问题 camera和camera2的最主要区别之一就是camera2不再支持nv21的输出,通常我们为了使视频预览更加的流畅,会采用YUV_420_ ...
- SpringBoot整合百度人脸识别SDK离线版操作步骤,Windows发布打包SpringBoot百度人脸识别SDK项目,以及解决百度人脸识别SDK离线版遇到的问题
前言 1.下载百度人脸识别SDK离线版. 2.开发工具:IntelliJ IDEA 百度人脸识别官网:https://cloud.baidu.com/doc/FACE/s/Ol0rre5u5 步骤 一 ...
- 百度云android人脸识别sdk,android 集成百度人脸识别sdk 实现考勤
主要sdk 离线人脸采集sdk 具体实现官网已经写的很详细,这边就说一下移动端集成sdk 所碰到的坑. 第一坑 sdk下载 要下载sdk必须要认证,不过现在有了个人认证,可以先认证一下 下载下来sdk ...
- 安卓java百度人脸识别SDK简单使用
首先在百度智能云注册之后创建自己的应用.当前SDK版本4.11.1.具体注册和导入jar包可以参考其他教程. 由于涉及网络访问,请先申请网络访问权限. public class MainActivit ...
- 百度人脸识别sdk图片转码的问题
使用base64格式需要先将图片转码 先在python2.7中使用了人脸搜索功能,代码如下: f = open('image/test.jpg','rb') img = base64.b64encod ...
- 百度人脸识别sdk中人脸搜索功能需要注意的问题
①人脸搜索功能中,只要图片能识别出人脸,返回结果中就会['error_msg'] = 'SUCCESS' 所以最好使用这个作为判断条件 ②我之前以为user_list是返回的匹配成功的用户列表,但是如 ...
- 调用百度的人脸识别SDK实现人脸检测
在百度控制台创建APP具体操作过程看上一篇文章https://blog.csdn.net/qq_34613314/article/details/117290951?spm=1001.2014.300 ...
最新文章
- 从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
- BZOJ3209(n的二进制表示中1的个数的乘积)
- Docker 精通之入门
- python按位翻转_Python成为专业人士笔记-位操作符
- oracle的local,11G R2 Oracle Local Registry(OLR)
- tql触发器修改记录时同步更新_运维日记|MySQL数据单向同步方案对比
- linux xxx is not in the sudoers file.This incident will be reported.的解决方法
- 视频md5修改器苹果手机
- 自动化运维工具ansible安装及使用
- Myeclipse10破解版安装包
- 康佳电视维修记 LED55M5580AF
- onenote 无法正常使用的解决办法
- weak_auth 小宁写了一个登陆验证页面,随手就设了一个密码。
- Kindeditor图片粘贴上传(chrome)
- java实现爬取文本中的手机号、邮箱以及电话号码
- 百度之星Valley Numer
- 独立同分布(Independently and Identically Distributed, iid)
- JAVA:实现BloomFilter二进制向量数据结构算法(附完整源码)
- 慕课网——MySQL优化
- 周鸿祎刘强东等互联网大佬最失败的创业项目
热门文章
- stm32 MPU6050 6轴姿态传感器的介绍与DMP的应用
- Incorporating visual features into word embeddings:A bimodal autoencoder-based approach
- 计算机类核心期刊审稿与发表周期,一般核心期刊的发刊周期有多长
- 嵌入式linux内核 浮点运算,ARM处理器Linux下浮点运算单元运用
- python删除指定字符串之间所有行_python:删除包含字符串的pandas数据帧中的所有行...
- git设置master权限_Gitlab权限管理
- 2019年9月15日记
- 分布式AKF拆分原则
- 海康摄像机web3.0控件
- 基于51单片机的酒精浓度检测仪设计