Я реализую OCR в формах xamarin.Я использую TesseractApi после Тессеракт OCR для Xamarin (часть 1) , xocr и MediaPlugin .Реализация проста из сохраненного / захваченного изображения, но я ищу, чтобы выполнить OCR из кадров, а не из сохраненного изображения.
private async void Button_Clicked(object sender, EventArgs e)
{
if (
!CrossMedia.Current.IsPickPhotoSupported)
{
await DisplayAlert("No Upload", "Picking photo is not supported!", "OK");
return;
}
if (!_tesseractApi.Initialized)
await _tesseractApi.Init("eng");
var photo = await TakePic(); //capture picture
if (photo != null)
{
var tessResult = await _tesseractApi.SetImage(photo);
if (tessResult)
{
recognizedTextLabel.Text = _tesseractApi.Text;
}
}
}
private async Task<Stream> TakePic()
{
var file = await CrossMedia.Current.PickPhotoAsync();
if (file != null)
{
//show stream in image - this is for test only
img.Source = ImageSource.FromStream(() =>
{
return file.GetStream();
});
//return stream for ocr reading
return file.GetStream();
}
return null;
}