public FaceAnalyzeResult ProcessInformation(List <JsonResult> jsonResults) { FaceAnalyzeResult result = new FaceAnalyzeResult(); if (jsonResults.Any()) { JsonResult faceAnalysisResult = GetJson(jsonResults, "Face"); JsonResult visionAnalysisResult = GetJson(jsonResults, "Vision"); if (faceAnalysisResult != null) { List <Face> faces = _faceMapper.Map(faceAnalysisResult.Json); if (visionAnalysisResult != null) { _celebritiesMapper.Map(visionAnalysisResult.Json, faces); } result.Faces = faces; } if (visionAnalysisResult != null) { result.Moderation = _moderationMapper.Map(visionAnalysisResult.Json); } result.JsonResults = jsonResults; } return(result); }
private async void CmbAnalysisType_SelectedIndexChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(imageHandler.BitmapPath)) { switch (cmbAnalysisType.Text) { case "Vision - Analyze": txtResult.Text = await _visionClient.MakeAnalysisRequest(imageHandler.BitmapPath); break; case "Face - Detect": FaceAnalyzeResult detectedFaces = await _imageAnalizer.FaceAnalyze(imageHandler.BitmapPath); txtResult.Text = detectedFaces.JsonResults[0].JsonContent; Graphics graphic = this.CreateGraphics(); foreach (Face face in detectedFaces.Faces) { int xPos = this.AutoScrollPosition.X + grbAnalysis.Location.X + face.Box.Left; int yPos = this.AutoScrollPosition.Y + grbAnalysis.Location.Y + grbAnalysis.Size.Height + 20 + face.Box.Top; Rectangle rectangle = new Rectangle(xPos, yPos, face.Box.Width, face.Box.Height); graphic.DrawRectangle(face.Gender.Equals("female") ? pinkPen : bluePen, rectangle); } break; case "Face - GetList": txtResult.Text = await _faceClient.MakeGetListRequest(imageHandler.BitmapPath); break; default: break; } } else { MessageBox.Show("Please select an image", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public async Task <IHttpActionResult> Analyze() { try { byte[] imageToAnalyze = await Request.Content.ReadAsByteArrayAsync(); if (imageAnalyzer == null) { return(BadRequest()); } FaceAnalyzeResult result = await imageAnalyzer.FullAnalyze(imageToAnalyze); return(Ok(result)); } catch { return(Ok(new JObject())); } }