Xamarin Microsoft Oxford Vision проблема с распознаванием текста - PullRequest
0 голосов
/ 11 ноября 2018

У меня проблема с распознаванием текста по квитанциям с использованием Microsoft Oxford Vision с Xamarin.Forms.

Вот код:

private async void BtnTake_Clicked(object sender, EventArgs e)
    {
        try
        {
            var photo = await TakePic();

            Image = ImageSource.FromStream(() => photo.GetStream());

            var result = client.RecognizeTextAsync(photo.GetStream()).Result;
            var words = from r in result.Regions
                        from l in r.Lines
                        from w in l.Words
                        select w.Text;

            OutputText = string.Join(" ", words.ToArray());

            await Navigation.PushAsync(new TextFromPhoto(OutputText, Image));
        }
        catch (Exception ex)
        {
            OutputText = "Ops! Something wrong!" + ex.ToString();
            await Navigation.PushAsync(new TextFromPhoto(OutputText, Image));
        }
    }

    private async Task<MediaFile> TakePic()
    {
        var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
        {
            SaveToAlbum = true,
            PhotoSize = PhotoSize.Medium
        });

        return file;
    }

Код отлично работает с обычным текстом, например со страницей с фотографией книги, которую я взял в приложении, но когда я пытаюсь использовать это для сканирования текста из квитанции программа не знает, что делать и на выходе мы можем увидеть "513nlkm nlmnl l1mk 531" или что-то в этом роде.

Фото, когда у меня есть "нормальный" текст:

enter image description here

Фото, когда у меня есть текст квитанции:

enter image description here

Есть ли проверенные способы исправить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...