Пример #1
0
        public string NetRecognitionDataStr(Image image)
        {
            try
            {
                RecognitionProvider recognitionProvider = new RecognitionProvider();

                //Task<JObject> @object = new Task<JObject>(baiduRecognitionProvider.NetFaceMatch(image) );
                JObject jsonData = recognitionProvider.NetRecognition(image);
                jsonData.TryGetValue("result", out JToken value);
                JToken infoArry = value["face_list"];

                string left   = infoArry[0]["location"]["left"].ToString();
                string top    = infoArry[0]["location"]["top"].ToString();
                string width  = infoArry[0]["location"]["width"].ToString();
                string height = infoArry[0]["location"]["height"].ToString();

                string yaw   = infoArry[0]["angle"]["yaw"].ToString();
                string pitch = infoArry[0]["angle"]["pitch"].ToString();
                string roll  = infoArry[0]["angle"]["roll"].ToString();

                string result = $"人脸位置:\r\n    距离左边线:{left}\r\n    距离上边线:{top}\r\n    宽度:{width}\r\n    高度:{height}\r\n人脸翻转:\r\n    俯仰角:{yaw}\r\n    平移角:{pitch}\r\n    翻滚角:{roll}";
                return(result);
            }
            catch (Exception ex)
            {
                string result = "检测出错{" + ex + "}";
                return(result);
            }
        }
Пример #2
0
        /// <summary>
        /// 人脸识别
        /// </summary>
        /// <param name="image"></param>
        /// <returns></returns>
        public Dictionary <string, string> NetRecognitionData(Image image)
        {
            try
            {
                RecognitionProvider recognitionProvider = new RecognitionProvider();

                //Task<JObject> @object = new Task<JObject>(baiduRecognitionProvider.NetFaceMatch(image) );
                JObject jsonData = recognitionProvider.NetRecognition(image);
                jsonData.TryGetValue("result", out JToken value);
                JToken infoArry = value["face_list"];

                Dictionary <string, string> result = new Dictionary <string, string>();
                //人脸数量,现在只用1
                result.Add("faceNum", value["face_num"].ToString());


                //人脸标识
                result.Add("faceToken", infoArry[0]["face_token"].ToString());
                //人脸位置
                JToken location = infoArry[0]["location"];
                result.Add("left", location["left"].ToString());
                result.Add("top", location["top"].ToString());
                result.Add("width", location["width"].ToString());
                result.Add("height", location["height"].ToString());
                //年龄
                result.Add("age", infoArry[0]["age"].ToString());
                //美丑
                result.Add("beauty", infoArry[0]["beauty"].ToString());
                //性别
                //JToken gender = infoArry[0]["gender"];
                result.Add("gender", infoArry[0]["gender"]["type"].ToString());
                return(result);
            }
            catch (Exception ex)
            {
                string info = "检测出错{" + ex + "}";
                Dictionary <string, string> result = new Dictionary <string, string>();
                result.Add("错误消息:", info);
                return(result);
            }
        }
Пример #3
0
 public void NetRecognitionTest()
 {
     Image image = null;
     RecognitionProvider baiduRecognitionProvider = new RecognitionProvider();
     var data = baiduRecognitionProvider.NetRecognition(image);
 }