后台给到token,把这个脚本放到场景中
using com.baidu.ai;
using System;
using System.Collections;
using System.IO;
using UnityEngine;
public class Test : MonoBehaviour
{
//string app_ID = "";
//string app_KEY = "";
//string secret_KEY = "";
string token = "后台给的token";
void Start()
{
StartCoroutine(IEGetStringBase64());
}
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 = "test1";
//用户id,一般同一个人的图片放在同一个id下
string userId = "1";
//开始注册
SignUpFace(imageBase64, imageType, groupId, userId);
yield return new WaitForSeconds(0.6f);
}
}
public void SignUpFace(string image, string imageType, string groupId, string userId)
{
//var options = new Dictionary<string, object>{
// {"user_info", "test user info"},
// {"quality_control", "HIGH"},
// {"liveness_control", "HIGH"},
// {"action_type", "REPLACE"} };
// 带参数调用人脸注册
FaceAdd.add();
}
}
这个脚本是百度API官方脚本
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web;
namespace com.baidu.ai
{
public class FaceAdd
{
// 人脸注册
public static string add()
{
string token = "[调用鉴权接口获取的token]";
string host = "https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add?access_token=" + token;
Encoding encoding = Encoding.Default;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host);
request.Method = "post";
request.KeepAlive = true;
// 这里面参数根据你的需求更改,直接带参传值即可
String str = "{\"image\":\"027d8308a2ec665acb1bdf63e513bcb9\",\"image_type\":\"FACE_TOKEN\",\"group_id\":\"group_repeat\",\"user_id\":\"user1\",\"user_info\":\"abc\",\"quality_control\":\"LOW\",\"liveness_control\":\"NORMAL\"}";
byte[] buffer = encoding.GetBytes(str);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
string result = reader.ReadToEnd();
Console.WriteLine("人脸注册:");
Console.WriteLine(result);
return result;
}
}
}
然后在 StreamingAssets文件夹下新建一个FaceDetect文件夹,把要识别的图片放在这里面就可以了