private void WriteCaptionResult() { string formattedCaption = string.Empty; var results = CaptionCollection.ToArray(); for (int i = 0; i < results.Length; i++) { formattedCaption += results[i].Text + ", Confidence: " + results[i].Confidence; if (i != CaptionCollection.Count - 1) { formattedCaption += "\n "; } } VisionMainResults = formattedCaption; }
public async Task PickedVisionService(int serviceType) { bool completed = false; switch (serviceType) { case (int)VisionApiServices.DescribeImage: AnalysisResult analyzeDescriptionImage = await UploadAndDescribeImage(tempFileWorking); if (analyzeDescriptionImage != null && analyzeDescriptionImage.Description != null) { CaptionCollection.ReplaceRange(analyzeDescriptionImage.Description.Captions); TagCollection.ReplaceRange(analyzeDescriptionImage.Description.Tags); WriteCaptionResult(); WriteTagResults(); completed = true; } break; case (int)VisionApiServices.RecognizeImage: CultureInfo getCultureInfo = CultureInfo.CurrentCulture; OcrResults ocrResults = await UploadAndRecognizeImage(tempFileWorking, "no"); if (ocrResults != null && ocrResults.Regions != null && ocrResults.Regions.Any()) { FillOCRInformation(ocrResults.Regions); completed = true; } break; case (int)VisionApiServices.GetTags: var analysis = await UploadAndGetTagsForImage(tempFileWorking); if (analysis != null && analysis.Tags != null && analysis.Tags.Any()) { var tagNames = analysis.Tags.Select(t => t.Name).ToList(); TagCollection.ReplaceRange(tagNames); WriteTagResults(); completed = true; } break; case (int)VisionApiServices.GetAnalysis: var analyzeImage = await AnalyzeImage(tempFileWorking); if (analyzeImage != null) { var adult = analyzeImage.Adult != null ? $"Adult: {analyzeImage.Adult.AdultScore} score, " + $"{analyzeImage.Adult.IsAdultContent} content," + $" {analyzeImage.Adult.IsRacyContent} racy content, " + $"{analyzeImage.Adult.RacyScore} score\n\n" : "no adult content\n"; var description = analyzeImage.Description != null ? $"Description: TAGS: {WriteTagResultsDescription(analyzeImage.Description.Tags)}\n" + $"CAPTION: {analyzeImage.Description.Captions}\n" + $"Color: {analyzeImage.Color}\n": "no description\n"; AnalysisResult = adult + description; } break; default: break; } if (!completed) { MessagingService.Current.SendMessage <MessagingServiceAlert>(MessagingKeys.CognitiveServiceErrorMessage, new MessagingServiceAlert() { Cancel = "Cancel", Message = "Could not get " + "data, please check your network", Title = "Error" }); } IsBusy = false; }