Exemplo n.º 1
0
        public static async Task VisionAnalyticsAsync(TraceWriter log, string fileURLWithSAS, ImageBatchResult imageBatchResult)
        {
            ComputerVisionClient computerVision = new ComputerVisionClient(new ApiKeyServiceClientCredentials(VisionSubscriptionKey),
                                                                           new DelegatingHandler[] { });


            computerVision.Endpoint = ComputerVisionEndpoint;
            string imageURLwithoutSAS = fileURLWithSAS.Substring(0, fileURLWithSAS.IndexOf('?'));

            CognitiveImageAnalysis cogniiveImageAnalysis = new CognitiveImageAnalysis {
                imageURL = imageURLwithoutSAS
            };
            CognitiveImageTextAnalysis cognitiveImageTextAnalysis = new CognitiveImageTextAnalysis {
                imageURL = imageURLwithoutSAS
            };

            var t1 = AnalyzeRemoteAsync(computerVision, fileURLWithSAS, cogniiveImageAnalysis);
            var t2 = ExtractRemoteTextAsync(computerVision, fileURLWithSAS, log, cognitiveImageTextAnalysis);
            await Task.WhenAll(t1, t2);

            imageBatchResult.imageAnalyses.Add(cogniiveImageAnalysis);
            imageBatchResult.imageTextAnalyses.Add(cognitiveImageTextAnalysis);
        }
Exemplo n.º 2
0
 private static async Task AnalyzeRemoteAsync(ComputerVisionClient computerVision, string fileURLWithSAS, CognitiveImageAnalysis cognitiveImageAnalysis)
 {
     try
     {
         if (ValidateImage(1, fileURLWithSAS))
         {
             cognitiveImageAnalysis.imageAnalysis = await computerVision.AnalyzeImageAsync(fileURLWithSAS, features);
         }
         else
         {
             cognitiveImageAnalysis.error = "Image Validation Failed for ImageAnalysis API";
         }
     }
     catch (Exception e)
     {
         if (e is ComputerVisionErrorException)
         {
             ComputerVisionErrorException ex = (ComputerVisionErrorException)e;
             cognitiveImageAnalysis.error = ex.Message.ToString() + " due to " + ex.Response.Content;
         }
         else
         {
             cognitiveImageAnalysis.error = e.Message.ToString();
         }
     }
 }