private void SendRequest(object state) { mServerResult = string.Empty; try { #if TENCENT ClientProfile clientProfile = new ClientProfile(); HttpProfile httpProfile = new HttpProfile(); httpProfile.Endpoint = ("iai.tencentcloudapi.com"); clientProfile.HttpProfile = httpProfile; IaiClient client = new IaiClient(mCredential, "", clientProfile); DetectFaceRequest req = DetectFaceRequest.FromJsonString <DetectFaceRequest>(state.ToString()); DetectFaceResponse resp = client.DetectFace(req).ConfigureAwait(false).GetAwaiter().GetResult(); mServerResult = AbstractModel.ToJsonString(resp); mResult = JsonUtility.FromJson <DFServerResult>(mServerResult); #endif mIsDone = true; } catch (System.Exception ex) { mServerResult = ex.Message; string[] sf = mServerResult.Split(' '); DFServerResult rs = new DFServerResult(); rs.Error = new DFError(); rs.Error.Code = sf[0].Split(':')[1]; rs.Error.Message = sf[1].Split(':')[1]; mResult = rs; mIsDone = true; } }
async Task LoadStatisticPercentages() { var listPersonAttributes = new List <PersonAttributes>(); foreach (var person in Persons) { if (string.IsNullOrWhiteSpace(person.FaceImageUrl)) { continue; } var detectResults = await FaceApiService.DetectFaces(person.FaceImageUrl); DetectFaceResponse detectFaceResponse = detectResults.FirstOrDefault(); if (detectFaceResponse == null || detectFaceResponse.FaceAttributes == null) { continue; } listPersonAttributes.Add(new PersonAttributes { Emotion = GetEmotion(detectFaceResponse.FaceAttributes?.Emotion), Age = detectFaceResponse.FaceAttributes.Age, Gender = detectFaceResponse.FaceAttributes.Gender }); } if (listPersonAttributes != null) { GetMaxEmotionOnGroup(listPersonAttributes); GetMediumAgeOnGroup(listPersonAttributes); GetPercentageFemaleOnGroup(listPersonAttributes); } }
public static DetectFaceResponse Unmarshall(UnmarshallerContext context) { DetectFaceResponse detectFaceResponse = new DetectFaceResponse(); detectFaceResponse.HttpResponse = context.HttpResponse; return(detectFaceResponse); }
public static DetectFaceResponse Unmarshall(UnmarshallerContext context) { DetectFaceResponse detectFaceResponse = new DetectFaceResponse(); detectFaceResponse.HttpResponse = context.HttpResponse; detectFaceResponse.RequestId = context.StringValue("DetectFace.RequestId"); DetectFaceResponse.DetectFace_Data data = new DetectFaceResponse.DetectFace_Data(); data.FaceCount = context.IntegerValue("DetectFace.Data.FaceCount"); data.LandmarkCount = context.IntegerValue("DetectFace.Data.LandmarkCount"); List <string> data_faceRectangles = new List <string>(); for (int i = 0; i < context.Length("DetectFace.Data.FaceRectangles.Length"); i++) { data_faceRectangles.Add(context.StringValue("DetectFace.Data.FaceRectangles[" + i + "]")); } data.FaceRectangles = data_faceRectangles; List <string> data_faceProbabilityList = new List <string>(); for (int i = 0; i < context.Length("DetectFace.Data.FaceProbabilityList.Length"); i++) { data_faceProbabilityList.Add(context.StringValue("DetectFace.Data.FaceProbabilityList[" + i + "]")); } data.FaceProbabilityList = data_faceProbabilityList; List <string> data_poseList = new List <string>(); for (int i = 0; i < context.Length("DetectFace.Data.PoseList.Length"); i++) { data_poseList.Add(context.StringValue("DetectFace.Data.PoseList[" + i + "]")); } data.PoseList = data_poseList; List <string> data_landmarks = new List <string>(); for (int i = 0; i < context.Length("DetectFace.Data.Landmarks.Length"); i++) { data_landmarks.Add(context.StringValue("DetectFace.Data.Landmarks[" + i + "]")); } data.Landmarks = data_landmarks; List <string> data_pupils = new List <string>(); for (int i = 0; i < context.Length("DetectFace.Data.Pupils.Length"); i++) { data_pupils.Add(context.StringValue("DetectFace.Data.Pupils[" + i + "]")); } data.Pupils = data_pupils; detectFaceResponse.Data = data; return(detectFaceResponse); }
public static DetectFaceResponse Unmarshall(UnmarshallerContext _ctx) { DetectFaceResponse detectFaceResponse = new DetectFaceResponse(); detectFaceResponse.HttpResponse = _ctx.HttpResponse; detectFaceResponse.RequestId = _ctx.StringValue("DetectFace.RequestId"); DetectFaceResponse.DetectFace_Data data = new DetectFaceResponse.DetectFace_Data(); data.LandmarkCount = _ctx.IntegerValue("DetectFace.Data.LandmarkCount"); data.FaceCount = _ctx.IntegerValue("DetectFace.Data.FaceCount"); List <string> data_faceProbabilityList = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.FaceProbabilityList.Length"); i++) { data_faceProbabilityList.Add(_ctx.StringValue("DetectFace.Data.FaceProbabilityList[" + i + "]")); } data.FaceProbabilityList = data_faceProbabilityList; List <string> data_faceRectangles = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.FaceRectangles.Length"); i++) { data_faceRectangles.Add(_ctx.StringValue("DetectFace.Data.FaceRectangles[" + i + "]")); } data.FaceRectangles = data_faceRectangles; List <string> data_landmarks = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Landmarks.Length"); i++) { data_landmarks.Add(_ctx.StringValue("DetectFace.Data.Landmarks[" + i + "]")); } data.Landmarks = data_landmarks; List <string> data_poseList = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.PoseList.Length"); i++) { data_poseList.Add(_ctx.StringValue("DetectFace.Data.PoseList[" + i + "]")); } data.PoseList = data_poseList; List <string> data_pupils = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Pupils.Length"); i++) { data_pupils.Add(_ctx.StringValue("DetectFace.Data.Pupils[" + i + "]")); } data.Pupils = data_pupils; DetectFaceResponse.DetectFace_Data.DetectFace_Qualities qualities = new DetectFaceResponse.DetectFace_Data.DetectFace_Qualities(); List <string> qualities_noiseList = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Qualities.NoiseList.Length"); i++) { qualities_noiseList.Add(_ctx.StringValue("DetectFace.Data.Qualities.NoiseList[" + i + "]")); } qualities.NoiseList = qualities_noiseList; List <string> qualities_scoreList = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Qualities.ScoreList.Length"); i++) { qualities_scoreList.Add(_ctx.StringValue("DetectFace.Data.Qualities.ScoreList[" + i + "]")); } qualities.ScoreList = qualities_scoreList; List <string> qualities_blurList = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Qualities.BlurList.Length"); i++) { qualities_blurList.Add(_ctx.StringValue("DetectFace.Data.Qualities.BlurList[" + i + "]")); } qualities.BlurList = qualities_blurList; List <string> qualities_maskList = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Qualities.MaskList.Length"); i++) { qualities_maskList.Add(_ctx.StringValue("DetectFace.Data.Qualities.MaskList[" + i + "]")); } qualities.MaskList = qualities_maskList; List <string> qualities_glassList = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Qualities.GlassList.Length"); i++) { qualities_glassList.Add(_ctx.StringValue("DetectFace.Data.Qualities.GlassList[" + i + "]")); } qualities.GlassList = qualities_glassList; List <string> qualities_fnfList = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Qualities.FnfList.Length"); i++) { qualities_fnfList.Add(_ctx.StringValue("DetectFace.Data.Qualities.FnfList[" + i + "]")); } qualities.FnfList = qualities_fnfList; List <string> qualities_poseList1 = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Qualities.PoseList.Length"); i++) { qualities_poseList1.Add(_ctx.StringValue("DetectFace.Data.Qualities.PoseList[" + i + "]")); } qualities.PoseList1 = qualities_poseList1; List <string> qualities_illuList = new List <string>(); for (int i = 0; i < _ctx.Length("DetectFace.Data.Qualities.IlluList.Length"); i++) { qualities_illuList.Add(_ctx.StringValue("DetectFace.Data.Qualities.IlluList[" + i + "]")); } qualities.IlluList = qualities_illuList; data.Qualities = qualities; detectFaceResponse.Data = data; return(detectFaceResponse); }
public static DetectFaceResponse Unmarshall(UnmarshallerContext context) { DetectFaceResponse detectFaceResponse = new DetectFaceResponse(); detectFaceResponse.HttpResponse = context.HttpResponse; detectFaceResponse.RequestId = context.StringValue("DetectFace.RequestId"); List <string> detectFaceResponse_srcUris = new List <string>(); for (int i = 0; i < context.Length("DetectFace.SrcUris.Length"); i++) { detectFaceResponse_srcUris.Add(context.StringValue("DetectFace.SrcUris[" + i + "]")); } detectFaceResponse.SrcUris = detectFaceResponse_srcUris; List <DetectFaceResponse.DetectFace_SuccessDetailsItem> detectFaceResponse_successDetails = new List <DetectFaceResponse.DetectFace_SuccessDetailsItem>(); for (int i = 0; i < context.Length("DetectFace.SuccessDetails.Length"); i++) { DetectFaceResponse.DetectFace_SuccessDetailsItem successDetailsItem = new DetectFaceResponse.DetectFace_SuccessDetailsItem(); successDetailsItem.SrcUri = context.StringValue("DetectFace.SuccessDetails[" + i + "].SrcUri"); successDetailsItem.PhotoId = context.StringValue("DetectFace.SuccessDetails[" + i + "].PhotoId"); List <DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem> successDetailsItem_faces = new List <DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem>(); for (int j = 0; j < context.Length("DetectFace.SuccessDetails[" + i + "].Faces.Length"); j++) { DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem facesItem = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem(); facesItem.FaceId = context.StringValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceId"); DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceRectangle faceRectangle = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceRectangle(); faceRectangle.Top = context.StringValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceRectangle.Top"); faceRectangle.Left = context.StringValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceRectangle.Left"); faceRectangle.Width = context.StringValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceRectangle.Width"); faceRectangle.Height = context.StringValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceRectangle.Height"); facesItem.FaceRectangle = faceRectangle; DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute faceAttribute = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute(); DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_Gender gender = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_Gender(); gender._Value = context.StringValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.Gender.Value"); faceAttribute.Gender = gender; DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_Age age = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_Age(); age._Value = context.IntegerValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.Age.Value"); faceAttribute.Age = age; DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_HeadPose headPose = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_HeadPose(); headPose.PitchAngle = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.HeadPose.PitchAngle"); headPose.RollAngle = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.HeadPose.RollAngle"); headPose.YawAngle = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.HeadPose.YawAngle"); faceAttribute.HeadPose = headPose; DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_EyeStatus eyeStatus = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_EyeStatus(); DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_EyeStatus.DetectFace_LeftEyeStatus leftEyeStatus = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_EyeStatus.DetectFace_LeftEyeStatus(); leftEyeStatus.NormalGlassEyeOpen = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.LeftEyeStatus.NormalGlassEyeOpen"); leftEyeStatus.NoGlassEyeClose = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.LeftEyeStatus.NoGlassEyeClose"); leftEyeStatus.Occlusion = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.LeftEyeStatus.Occlusion"); leftEyeStatus.NoGlassEyeOpen = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.LeftEyeStatus.NoGlassEyeOpen"); leftEyeStatus.NormalGlassEyeClose = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.LeftEyeStatus.NormalGlassEyeClose"); leftEyeStatus.DarkGlasses = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.LeftEyeStatus.DarkGlasses"); eyeStatus.LeftEyeStatus = leftEyeStatus; DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_EyeStatus.DetectFace_RightEyeStatus rightEyeStatus = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_EyeStatus.DetectFace_RightEyeStatus(); rightEyeStatus.NormalGlassEyeOpen = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.RightEyeStatus.NormalGlassEyeOpen"); rightEyeStatus.NoGlassEyeClose = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.RightEyeStatus.NoGlassEyeClose"); rightEyeStatus.Occlusion = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.RightEyeStatus.Occlusion"); rightEyeStatus.NoGlassEyeOpen = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.RightEyeStatus.NoGlassEyeOpen"); rightEyeStatus.NormalGlassEyeClose = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.RightEyeStatus.NormalGlassEyeClose"); rightEyeStatus.DarkGlasses = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.EyeStatus.RightEyeStatus.DarkGlasses"); eyeStatus.RightEyeStatus = rightEyeStatus; faceAttribute.EyeStatus = eyeStatus; DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_Blur blur = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_Blur(); DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_Blur.DetectFace_Blurness blurness = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_Blur.DetectFace_Blurness(); blurness._Value = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.Blur.Blurness.Value"); blurness.Threshold = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.Blur.Blurness.Threshold"); blur.Blurness = blurness; faceAttribute.Blur = blur; DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_FaceQuality faceQuality = new DetectFaceResponse.DetectFace_SuccessDetailsItem.DetectFace_FacesItem.DetectFace_FaceAttribute.DetectFace_FaceQuality(); faceQuality._Value = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.FaceQuality.Value"); faceQuality.Threshold = context.FloatValue("DetectFace.SuccessDetails[" + i + "].Faces[" + j + "].FaceAttribute.FaceQuality.Threshold"); faceAttribute.FaceQuality = faceQuality; facesItem.FaceAttribute = faceAttribute; successDetailsItem_faces.Add(facesItem); } successDetailsItem.Faces = successDetailsItem_faces; detectFaceResponse_successDetails.Add(successDetailsItem); } detectFaceResponse.SuccessDetails = detectFaceResponse_successDetails; List <DetectFaceResponse.DetectFace_FailDetailsItem> detectFaceResponse_failDetails = new List <DetectFaceResponse.DetectFace_FailDetailsItem>(); for (int i = 0; i < context.Length("DetectFace.FailDetails.Length"); i++) { DetectFaceResponse.DetectFace_FailDetailsItem failDetailsItem = new DetectFaceResponse.DetectFace_FailDetailsItem(); failDetailsItem.SrcUri = context.StringValue("DetectFace.FailDetails[" + i + "].SrcUri"); failDetailsItem.Reason = context.StringValue("DetectFace.FailDetails[" + i + "].Reason"); detectFaceResponse_failDetails.Add(failDetailsItem); } detectFaceResponse.FailDetails = detectFaceResponse_failDetails; return(detectFaceResponse); }