private async Task <DescribeResultModel> DescribeImageAsync(string url) { if (string.IsNullOrWhiteSpace(url)) { throw new ArgumentException("message", nameof(url)); } var result = await _api.DescribeAsync(url) .ConfigureAwait(false); if (result == null) { return(null); } return(new DescribeResultModel { Url = url, Tags = result.Description.Tags.Select(tag => new TagModel { Name = tag }).ToList(), Caption = string.Join(',', result.Description.Captions.Select(caption => $"{caption.Text} (confidence: {caption.Confidence:N2}")) }); }
/// <summary> /// Function to describe an image /// </summary> /// <param name="obj"></param> private async void LoadAndDescribe(object obj) { Uri fileUri = new Uri(ImageUrl); BitmapImage image = new BitmapImage(fileUri); image.CacheOption = BitmapCacheOption.None; image.UriSource = fileUri; ImageSource = image; try { AnalysisResult descriptionResult = await _visionClient.DescribeAsync(ImageUrl, NumberOfDescriptions); if (descriptionResult != null) { Description = PrintDescriptionResult(descriptionResult); } } catch (Exception ex) { Debug.WriteLine($"Failed to describe image: {ex.Message}"); } }