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); } }
/// <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); } }
public void NetRecognitionTest() { Image image = null; RecognitionProvider baiduRecognitionProvider = new RecognitionProvider(); var data = baiduRecognitionProvider.NetRecognition(image); }