Я пытаюсь использовать 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);
Спасибо