Exemplo n.º 1
0
        public async Task <RecognizeResponse> ExecuteAsync(CancellationToken token)
        {
            var image = await GetFileAsync(token);

            image = PreProcessor.Process(image);
            var ocrResult = await OcrClient.RecognizeAsync(image, token).ConfigureAwait(false);

            switch (ocrResult.Status)
            {
            case OcrStatus.Success:
                var text = PostProcessor.Process(ocrResult.Text);
                return(new RecognizeResponse(text));

            case OcrStatus.Error:
                throw new Exception(ocrResult.Error);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemplo n.º 2
0
        public void RecognizesWithLanguage(OcrLanguages language)
        {
            // Arrange
            OcrClient   client = new OcrClient(API_KEY, REGION);
            OcrResponse response;

            // Act
            response = Task.Run(() => client.RecognizeAsync(new Uri(@"https://oxfordportal.blob.core.windows.net/vision/doc-vision-overview-ocr01.png"), language: language)).Result;

            // Assert
            Assert.NotNull(response);
            Assert.Null(response.ErrorCode);
            Assert.Equal(response.Language, "en");
            Assert.NotNull(response.Regions);
            Assert.NotEmpty(response.Regions);
            Assert.NotEqual(response.Regions.First().BoundingBox.Left, default(int));
            Assert.NotEqual(response.Regions.First().BoundingBox.Top, default(int));
            Assert.NotEqual(response.Regions.First().BoundingBox.Width, default(int));
            Assert.NotEqual(response.Regions.First().BoundingBox.Height, default(int));
            Assert.NotNull(response.Regions.First().Lines);
            Assert.NotEmpty(response.Regions.First().Lines);
            Assert.NotNull(response.Regions.First().Lines.First().Words);
        }
Exemplo n.º 3
0
        public void RecognizesWithByteArray(string imageFileName)
        {
            // Arrange
            byte[]      contentBytes = File.ReadAllBytes(@"..\..\..\OcrTests\" + imageFileName);
            OcrClient   client       = new OcrClient(API_KEY, REGION);
            OcrResponse response;

            // Act
            response = Task.Run(() => client.RecognizeAsync(contentBytes)).Result;

            // Assert
            Assert.NotNull(response);
            Assert.Null(response.ErrorCode);
            Assert.NotNull(response.Regions);
            Assert.NotEmpty(response.Regions);
            Assert.NotEqual(response.Regions.First().BoundingBox.Left, default(int));
            Assert.NotEqual(response.Regions.First().BoundingBox.Top, default(int));
            Assert.NotEqual(response.Regions.First().BoundingBox.Width, default(int));
            Assert.NotEqual(response.Regions.First().BoundingBox.Height, default(int));
            Assert.NotNull(response.Regions.First().Lines);
            Assert.NotEmpty(response.Regions.First().Lines);
            Assert.NotNull(response.Regions.First().Lines.First().Words);
        }