Azure OCR RecognizePrintedTextInStreamAsync Недопустимое изображение - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь использовать Azure OCR API в Xamarin Forms. Вот важные биты кода. Я пользуюсь клиентом ComputerVisionClient .net

await CrossMedia.Current.Initialize();

  if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
  {
    return;
  }

  var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
  {
    SaveToAlbum = false
  });

  Img = new Image
  {
    Source = ImageSource.FromStream(() =>
    {
      var stream = file.GetStream();
      return stream;
    }),
  };

  using (var photoStream = file.GetStream())
  {
    var text = await _client.RecognizePrintedTextInStreamAsync(true, photoStream);
  }

. Img привязан к изображению в представлении, и он появляется, когда я делаю снимок, так что это определенно изображение. Однако RecognizePrintedTextInStreamAsync возвращает обратно «System.IO.FileNotFoundException: 'Invalid Image'", и я не уверен, почему. Есть идеи?

Править. Добавлен код _client

public static ComputerVisionClient Authenticate(string endpoint, string key)
{
    ComputerVisionClient client =
        new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
        { Endpoint = endpoint };
    return client;
}

Вызывается из моего конструктора и устанавливается как глобальная переменная

_client = Authenticate(endpoint, subscriptionKey);

Спасибо

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