void method() { // 设置APPID/AK/SK var APP_ID = "16604945"; var API_KEY = "qTvV0EqG1Mmaavs9wIGzNBPS"; //你的 Api Key var SECRET_KEY = "wwckh4CQm2NR5tEZPu0nzNmSzg9Q3KDT"; //你的 Secret Key var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY); client.Timeout = 60000; // 修改超时时间 //取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串 //你共享的图片路径(点击路径可直接查看图片) var image = "http://b117.photo.store.qq.com/psb?/V10bnVD11OXPw5/QWpK4tAnWQ0G2t*V7d.MYQXiAoniZpYvqqjGn5kPoPA!/c/dHUAAAAAAAAA&bo=nAU4BJ0FOAQRECY!&rf=mood_app"; var imageType = "URL"; //注册人脸 var groupId = "group1"; var userId = "user1"; // 调用人脸注册,可能会抛出网络等异常,请使用try/catch捕获 var result = client.UserAdd(image, imageType, groupId, userId); Console.WriteLine(result); // 如果有可选参数 var options = new Dictionary <string, object> { { "user_info", "user's info" }, { "quality_control", "NORMAL" }, { "liveness_control", "LOW" } }; // 带参数调用人脸注册 result = client.UserAdd(image, imageType, groupId, userId, options); Console.WriteLine(result); }
/// <summary> /// 人脸注册 /// </summary> /// <param name="image"></param> /// <param name="groupId"></param> /// <param name="userId"></param> /// <param name="info"></param> /// <returns></returns> public JObject NetFaceRegister(Image image, string groupId, string userId, string info) { try { var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY) { Timeout = 60000 // 修改超时时间 }; //图片转为Base64 string base64 = ImageToBase64(image); string imageType = "BASE64"; var options = new Dictionary <string, object> { { "user_info", info }, { "quality_control", "NORMAL" }, { "liveness_control", "NONE" } }; JObject result = client.UserAdd(base64, imageType, groupId, userId, options); return(result); } catch (Exception ex) { MessageBox.Show("人脸录入出错:" + ex); return(new JObject()); } }
protected static void UserAdd() { var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY); client.Timeout = 60000; // 修改超时时间 var image = ComFunc.StreamToBase64String(new FileStream("C:/Users/admin/Desktop/2.jpg", FileMode.Open)); var imageType = "BASE64"; var groupId = "F001"; var userId = "F0001"; // 调用人脸注册,可能会抛出网络等异常,请使用try/catch捕获 var result = client.UserAdd(image, imageType, groupId, userId); Console.WriteLine(result); // // 如果有可选参数 // var options = new Dictionary<string, object>{ // {"user_info", "user's info"}, // {"quality_control", "NORMAL"}, // {"liveness_control", "LOW"} //}; // // 带参数调用人脸注册 // result = client.UserAdd(image, imageType, groupId, userId, options); // Console.WriteLine(result); }
/// <summary> /// 刷脸新增 /// </summary> /// <param name="reqData"></param> /// <returns></returns> public XAIResFAdd FAdd(XAIReqFAdd reqData) { LogModule.Info("XAI->BIDU:FAdd--->入参:" + reqData.ToJson()); var options = new Dictionary <string, object>() { { "user_info", reqData.UserInfo.ToJson() } }; string resJson; try { resJson = client.UserAdd(reqData.Image.Split(new string[] { ";base64," }, StringSplitOptions.RemoveEmptyEntries)[1], "BASE64", reqData.GroupId, reqData.UserId, options).ToJson(); } catch (Exception ex) { throw new XAIException(7100, "请求人脸识别服务异常,请重试!" + ex.Message); } LogModule.Info("XAI->BIDU:FAdd--->出参:" + resJson); var res = resJson.ToEntity <BIDUResponse>(); if (res.error_code != 0) { throw new XAIException(7100, typeof(BIDUErrorCodeEnum).GetEnumName(res.error_code.ToInt())); } return(new XAIResFAdd() { AuthId = res.log_id, FaceToken = res.result.face_token, LocationLeft = res.result.location.left.ToString(), LocationTop = res.result.location.top.ToString(), LocationWidth = res.result.location.width.ToString(), LocationHeight = res.result.location.height.ToString(), LocationRotaion = res.result.location.rotation.ToString() }); }
public static BaseResponse <FaceRegisterResult> FaceRegister(byte[] imageByte, string groupId, string userId, FaceOption option = null) { if (imageByte.Length > 1024 * 1024 * 10) { throw new Exception("图片大小必须小于10Mb"); } var imageBase64 = Convert.ToBase64String(imageByte); return(Execute <FaceRegisterResult>(client.UserAdd(imageBase64, ImageType, groupId, userId, option?.Options))); }
/// <summary> /// 通过token增加 /// 能不用就不用吧,因为token有时限的 /// </summary> /// <param name="groupid"></param> /// <param name="userId"></param> /// <param name="token"></param> /// <returns></returns> public JObject AddUserByToken(string userId, string token) { var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY); client.Timeout = 60000; // 修改超时时间 var imageType = "FACE_TOKEN"; var ret = client.UserAdd(token, imageType, groupId, userId); return(ret); }
public JObject AddUserByImage(string userId, byte[] bytes) { var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY); client.Timeout = 60000; // 修改超时时间 var image = Convert.ToBase64String(bytes); var imageType = "BASE64"; var ret = client.UserAdd(image, imageType, groupId, userId); return(ret); }
/// <summary> /// 人脸注册 /// </summary> /// <returns></returns> public JsonResult FaceRegistration() { // 设置APPID/AK/SK var API_KEY = "mxzzu1vLxca9KjnLwBCgOZs5"; //你的 Api Key var SECRET_KEY = "D9CkVbdziW9GrHiAZDENt8rOf0tVw9im"; //你的 Secret Key var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY); client.Timeout = 60000; // 修改超时时间 var imageType = "BASE64"; //BASE64 URL string imgData64 = Request["imgData64"]; imgData64 = imgData64.Substring(imgData64.IndexOf(",") + 1); //将‘,’以前的多余字符串删除 ResultInfo result = new ResultInfo(); try { //注册人脸 var groupId = "TestGroupA"; var userId = "TestUserA"; //首先查询是否存在人脸 var result2 = client.Search(imgData64, imageType, userId); //会出现222207(未找到用户)这个错误 var strJson = Newtonsoft.Json.JsonConvert.SerializeObject(result2); var o2 = Newtonsoft.Json.JsonConvert.DeserializeObject(strJson) as JObject; //判断是否存在当前人脸,相识度是否大于88 if (o2["error_code"].ToString() == "0" && o2["error_msg"].ToString() == "SUCCESS") { var result_list = Newtonsoft.Json.JsonConvert.DeserializeObject(o2["result"].ToString()) as JObject; var user_list = result_list["user_list"]; var Obj = JArray.Parse(user_list.ToString()); foreach (var item in Obj) { //88分以上可以判断为同一人,此分值对应万分之一误识率 var score = Convert.ToInt32(item["score"]); if (score > 88) { result.info = result2.ToString(); result.res = true; result.startcode = 221; return(Json(result, JsonRequestBehavior.AllowGet)); } } } var guid = Guid.NewGuid(); // 调用人脸注册,可能会抛出网络等异常,请使用try/catch捕获 // 如果有可选参数 var options = new Dictionary <string, object> { { "user_info", guid } }; // 带参数调用人脸注册 var resultData = client.UserAdd(imgData64, imageType, groupId, userId, options); result.info = resultData.ToString(); result.res = true; result.other = guid.ToString(); } catch (Exception e) { result.info = e.Message; } return(Json(result, JsonRequestBehavior.AllowGet)); }