コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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());
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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()
            });
        }
コード例 #5
0
ファイル: FaceApi.cs プロジェクト: Egoily/WeddingGreeting
        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)));
        }
コード例 #6
0
ファイル: FaceDb.cs プロジェクト: dogvane/FindBilibiliUP
        /// <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);
        }
コード例 #7
0
ファイル: FaceDb.cs プロジェクト: dogvane/FindBilibiliUP
        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);
        }
コード例 #8
0
        /// <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));
        }