private async void BtnGetFacialFeatures_Click(object sender, RoutedEventArgs e) { TxtCognitiveServicesAnalysisResponse.Text = string.Empty; if (!System.IO.File.Exists(_validatedImageFileLocation)) { return; } var httpClient = new CognitiveServicesRestHttpClient(); var imageStream = CommonFramework.Library.Helpers.ImagesHelpers.GetImagesAsStream(_validatedImageFileLocation); var request = new CognitiveServicesRequest { EndPointKey1 = Properties.Settings.Default.EndPointKey1, EndPoint = Properties.Settings.Default.EndPoint, ImageStream = imageStream, EndPointExtension = "/face/v1.0/detect", RestRequestParameters = "returnFaceId=true&returnFaceLandmarks=false" + "&returnFaceAttributes=age,gender,headPose,smile,facialHair,glasses," + "emotion,hair,makeup,occlusion,accessories,blur,exposure,noise", }; // ReSharper disable once PossibleNullReferenceException var response = await httpClient.GetRestHttpStringResponse(request); var visualFeatures = CommonFramework.Library.Helpers.JsonHelpers.JsonPrettyPrint(response.RestResponse); TxtCognitiveServicesAnalysisResponse.Text = response.Success ? visualFeatures : response.FailureInformation; }
private async void BtnGetVisualFeatures_Click(object sender, RoutedEventArgs e) { TxtCognitiveServicesAnalysisResponse.Text = string.Empty; if (!System.IO.File.Exists(_validatedImageFileLocation)) { return; } if (_computerVisionApi == null) { return; } var imageStream = CommonFramework.Library.Helpers.ImagesHelpers.GetImagesAsStream(_validatedImageFileLocation); var request = new CognitiveServicesRequest { EndPointKey1 = Properties.Settings.Default.EndPointKey1, EndPoint = Properties.Settings.Default.EndPoint, ImageStream = imageStream, EndPointExtension = "/vision/v2.0/analyze", RestRequestParameters = "visualFeatures=Categories,Tags,Description,Faces,ImageType,Color,Adult&details=Celebrities,Landmarks&language=en", }; var response = await _computerVisionApi.GetVisualFeatures(request); TxtCognitiveServicesAnalysisResponse.Text = response.Success ? response.VisualFeatures : response.FailureInformation; }
public async Task <ActionResult> TextInImages(string img) { img = string.IsNullOrWhiteSpace(img) ? "/images/Text/8.png" : img; var subscriptionKey = ConfigurationManager.AppSettings["VisionApiKey"]; string imageUrl = $"{_baseUrl}{img}"; // Using the SDK var visionService = new VisionServiceClient(subscriptionKey); OcrResults result = await visionService.RecognizeTextAsync(imageUrl); // Using the WebApi var url = "https://westus.api.cognitive.microsoft.com/vision/v1.0/ocr"; var requestService = new CognitiveServicesRequest(); var response = await requestService.MakeRequest(url, subscriptionKey, requestService.CreateImageRequestObject(imageUrl)); var viewModel = new TextInImagesViewModel { Result = result, JSONResult = response, ImageUrl = imageUrl, }; return(View(viewModel)); }
public async Task <ActionResult> TextAnalytics(string text) { text = string.IsNullOrWhiteSpace(text) ? "I had a wonderful experience! The rooms were wonderful and the staff were helpful." : text; var subscriptionKey = ConfigurationManager.AppSettings["TextApiKey"]; var requestService = new CognitiveServicesRequest(); var requestObject = requestService.CreateTextRequestObject(text); // Text Language API var urlLanguage = "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/languages"; var responseLanuage = await requestService.MakeRequest(urlLanguage, subscriptionKey, requestObject); // Text Topics API var urlTopics = "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/keyPhrases"; var responseTopics = await requestService.MakeRequest(urlTopics, subscriptionKey, requestObject); //Text Sentiment API var urlSentiment = "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment"; var responseSentiment = await requestService.MakeRequest(urlSentiment, subscriptionKey, requestObject); var viewModel = new TextAnalyticsViewModel { Text = text, JsonResponseLanuage = responseLanuage, JsonResponseTopics = responseTopics, JsonResponseSentiment = responseSentiment }; return(View(viewModel)); }
public async Task <ActionResult> Object(string img) { img = string.IsNullOrWhiteSpace(img) ? "/images/Object/1.jpg" : img; var subscriptionKey = ConfigurationManager.AppSettings["VisionApiKey"]; string imageUrl = $"{_baseUrl}{img}"; // Using the SDK var client = new VisionServiceClient(subscriptionKey); AnalysisResult result = await client.AnalyzeImageAsync(imageUrl, new [] { VisualFeature.Description, VisualFeature.Categories }); // Using the WebApi var queryString = HttpUtility.ParseQueryString(string.Empty); queryString["visualFeatures"] = "Categories,Tags,Description,Faces,ImageType,Color,Adult "; queryString["details"] = "Celebrities"; queryString["language"] = "en"; var url = "https://westus.api.cognitive.microsoft.com/vision/v1.0/analyze?" + queryString; var requestService = new CognitiveServicesRequest(); var response = await requestService.MakeRequest(url, subscriptionKey, requestService.CreateImageRequestObject(imageUrl)); var viewModel = new ObjectViewModel { ImageUrl = imageUrl, JsonResponse = response, SDKResult = result }; return(View(viewModel)); }
private async void BtnRunOcr_Click(object sender, RoutedEventArgs e) { TxtCognitiveServicesAnalysisResponse.Text = string.Empty; if (!System.IO.File.Exists(_validatedImageFileLocation)) { return; } if (_computerVisionApi == null) { return; } var imageStream = CommonFramework.Library.Helpers.ImagesHelpers.GetImagesAsStream(_validatedImageFileLocation); var request = new CognitiveServicesRequest { EndPointKey1 = Properties.Settings.Default.EndPointKey1, EndPoint = Properties.Settings.Default.EndPoint, ImageStream = imageStream, EndPointExtension = "/vision/v2.0/ocr", RestRequestParameters = "language=unk&detectOrientation=true", }; var response = await _computerVisionApi.PerformOcr(request); if (response.Success) { var output = new StringBuilder(); foreach (var word in response.WordsFound) { output.AppendLine($"{word.Word} --- {word.Instances}"); } output.AppendLine(); output.AppendLine("============================================="); output.AppendLine(); output.AppendLine(string.Join("\n", response.LinesFound)); TxtCognitiveServicesAnalysisResponse.Text = output.ToString(); } else { TxtCognitiveServicesAnalysisResponse.Text = response.FailureInformation; } }
public override async Task <PerformOcrStringResponse> PerformOcr(CognitiveServicesRequest request) { var cognitiveServicesRestHttpClient = new CognitiveServicesRestHttpClient(); var restHttpResponse = await cognitiveServicesRestHttpClient.GetRestHttpStringResponse(request); var performOcrResponse = new PerformOcrStringResponse { Success = restHttpResponse.Success, ImplementedInModule = restHttpResponse.ImplementedInModule, FailureInformation = restHttpResponse.FailureInformation, // LinesFound = new List<string>(), // WordsFound = new List<PerformOcrWordInstance>(), }; performOcrResponse.LinesFound.Add(CommonFramework.Library.Helpers.JsonHelpers.JsonPrettyPrint(restHttpResponse.RestResponse)); return(performOcrResponse); }
public override async Task <GetVisualFeaturesStringResponse> GetVisualFeatures(CognitiveServicesRequest request) { var response = new GetVisualFeaturesStringResponse(); try { var apiKeyServiceClientCredentials = new ApiKeyServiceClientCredentials(request.EndPointKey1); var delegatingHandlers = new System.Net.Http.DelegatingHandler[] { }; IComputerVisionClient computerVision = new ComputerVisionClient( credentials: apiKeyServiceClientCredentials, handlers: delegatingHandlers) { Endpoint = request.EndPoint }; IList <VisualFeatureTypes> features = new List <VisualFeatureTypes>() { VisualFeatureTypes.ImageType, VisualFeatureTypes.Faces, VisualFeatureTypes.Adult, VisualFeatureTypes.Categories, VisualFeatureTypes.Color, VisualFeatureTypes.Tags, VisualFeatureTypes.Description, VisualFeatureTypes.Objects, }; var imageAnalysis = await computerVision.AnalyzeImageInStreamAsync( image : request.ImageStream, visualFeatures : features); var visualFeaturesTemp = new StringBuilder(); visualFeaturesTemp.AppendLine("Description - Captions"); foreach (var item in imageAnalysis.Description.Captions) { visualFeaturesTemp.AppendLine($"{item.Text} ({item.Confidence})"); } visualFeaturesTemp.AppendLine(""); visualFeaturesTemp.AppendLine("Description - Tags"); visualFeaturesTemp.AppendLine(string.Join(", ", imageAnalysis.Description.Tags)); visualFeaturesTemp.AppendLine(""); visualFeaturesTemp.AppendLine("Adult / Racy Content"); visualFeaturesTemp.AppendLine($"({imageAnalysis.Adult.AdultScore}) , ({imageAnalysis.Adult.RacyScore})"); visualFeaturesTemp.AppendLine(""); visualFeaturesTemp.AppendLine("Categories - name, score, detail"); foreach (var item in imageAnalysis.Categories) { visualFeaturesTemp.AppendLine($"{item.Name} ({item.Score})"); visualFeaturesTemp.AppendLine($"{item.Detail}"); } visualFeaturesTemp.AppendLine(""); visualFeaturesTemp.AppendLine("Color"); visualFeaturesTemp.AppendLine($"{imageAnalysis.Color}"); visualFeaturesTemp.AppendLine(""); visualFeaturesTemp.AppendLine("Faces - Age, Gender"); foreach (var item in imageAnalysis.Faces) { visualFeaturesTemp.AppendLine($"{item.Age} {item.Gender}"); } visualFeaturesTemp.AppendLine(""); visualFeaturesTemp.AppendLine("Image Type - ClipArtType, LineDrawingType"); visualFeaturesTemp.AppendLine($"{imageAnalysis.ImageType.ClipArtType} {imageAnalysis.ImageType.LineDrawingType}"); visualFeaturesTemp.AppendLine(""); visualFeaturesTemp.AppendLine("Objects"); foreach (var item in imageAnalysis.Objects) { visualFeaturesTemp.AppendLine($"{item.ObjectProperty} ({item.Confidence})"); } visualFeaturesTemp.AppendLine(""); visualFeaturesTemp.AppendLine("Tags - Name, Confidence, Hint"); foreach (var item in imageAnalysis.Tags) { visualFeaturesTemp.AppendLine($"{item.Name} ({item.Confidence})"); visualFeaturesTemp.AppendLine($"{item.Hint}"); } response.VisualFeatures = visualFeaturesTemp.ToString(); response.Success = true; } catch (Exception e) { response.FailureInformation = e.Message; } return(response); }
public override async Task <PerformOcrStringResponse> PerformOcr(CognitiveServicesRequest request) { var response = new PerformOcrStringResponse(); try { var apiKeyServiceClientCredentials = new ApiKeyServiceClientCredentials(request.EndPointKey1); var delegatingHandlers = new System.Net.Http.DelegatingHandler[] { }; IComputerVisionClient computerVision = new ComputerVisionClient( credentials: apiKeyServiceClientCredentials, handlers: delegatingHandlers) { Endpoint = request.EndPoint }; var contentString = await computerVision.RecognizePrintedTextInStreamAsync( image : request.ImageStream, detectOrientation : false, language : OcrLanguages.En, cancellationToken : CancellationToken.None); var resultsLinesFound = new List <string>(); var resultsWordsFound = new List <string>(); foreach (OcrRegion region in contentString.Regions) { foreach (OcrLine line in region.Lines) { var words = line.Words.Select(word => word.Text).ToList(); resultsWordsFound.AddRange(words); if (words.Count > 0) { resultsLinesFound.Add(string.Join <string>(" ", words)); } } } var wordGrouping = from word in resultsWordsFound group word by word into g select new { InstanceFound = g.Key, Word = g }; var groupedWordsFound = wordGrouping .Select(item => new PerformOcrWordInstance { Word = item.Word.Key, Instances = item.Word.Count() }); response.LinesFound = resultsLinesFound; response.WordsFound = groupedWordsFound.ToList(); response.Success = true; } catch (Exception e) { response.FailureInformation = e.Message; } return(response); }
public override async Task <PerformOcrStringResponse> PerformOcr(CognitiveServicesRequest request) { throw new System.NotImplementedException(); }
public override async Task <GetVisualFeaturesStringResponse> GetVisualFeatures(CognitiveServicesRequest request) { throw new System.NotImplementedException(); }
public override async Task <GetVisualFeaturesStringResponse> GetVisualFeatures(CognitiveServicesRequest request) { var cognitiveServicesRestHttpClient = new CognitiveServicesRestHttpClient(); var restHttpResponse = await cognitiveServicesRestHttpClient.GetRestHttpStringResponse(request); var getVisualFeaturesResponse = new GetVisualFeaturesStringResponse { Success = restHttpResponse.Success, ImplementedInModule = restHttpResponse.ImplementedInModule, FailureInformation = restHttpResponse.FailureInformation, VisualFeatures = CommonFramework.Library.Helpers.JsonHelpers.JsonPrettyPrint(restHttpResponse.RestResponse), }; return(getVisualFeaturesResponse); }