xamarin - Xamarin tesseract OCR 返回错误的输出和乱码
问题描述
我正在Xamarin.tesseract
为我的 ocr 使用 nuget 包。我已经正确设置了所有内容,包括 tessdata 文件夹。请参阅下面的命令,该命令与单击按钮相关联
public ICommand OCRCommand => new Command(async () => await ocrcard());
private async Task ocrcard()
{
try
{
var ocr = Resolver.Resolve<ITesseractApi>();
if (!ocr.Initialized)
{
var initialised = await ocr.Init("eng");
if (!initialised)
return;
}
var photo = await UtilityService.GetPhotoBase64StringAsync(false);
var isReadSuccess = await ocr.SetImage(Convert.FromBase64String(photo));
if (!isReadSuccess) return;
var texts = ocr.Text;
var words = ocr.Results(PageIteratorLevel.Word);
var symbols = ocr.Results(PageIteratorLevel.Symbol);
var blocks = ocr.Results(PageIteratorLevel.Block);
var paragraphs = ocr.Results(PageIteratorLevel.Paragraph);
var lines = ocr.Results(PageIteratorLevel.Textline);
//DialogService.ShowAlertAsync(texts, "ocr text", "ok");
//var ocrService = Tesseract.
//s.Elapsed()
}
catch(Exception ex)
{
throw ex;
}
}
await UtilityService.GetPhotoBase64StringAsync(false)
是我编写的一种自定义方法,用于使用 CrossMedia 插件从相机中获取照片。
我已经尝试了提供的所有三个选项SetImage
。我试过传入字节数组、流和文件路径。所有三个选项都返回乱码结果。
这是结果ocr.Text
"l 1 ' u 17\n\nm Hume \ vnsm Paguayom Rdtrentes Mamngs mew vuw\n\n(m A . .7 .7 ,7 r- w\n5 Calmnlfinny) v72 ~AA Aa\"% ::'; :' :p'EEEE'él'VA\nqacwv\n\n: V : , . . z 2 2 5:, V , '\nVmeatwamuM n IL, “5”! xz -A- Eff: v: Q 7 ' ”\nummm 4 mw 段落 :3\nM\nJ I\n\n"
解决方案
推荐阅读
- javascript - 尝试使用 setTimeout 更新时 useState
- python - 在数组中搜索重复项
- excel - 更新/更改图表时,Application.ScreenUpdating 不起作用?
- apache-spark - Kafka 2.4 是否与 Spark 2.4 兼容?
- vbscript - VBS 文件不打印
- node.js - VS Code - 调试器不会进入函数
- string - 比较字符串的Makefile问题
- linux - 在 bash 脚本中转义大括号
- python - 我不理解的 Python 代码或 CNN 架构功能的错误
- reactjs - 反应大日历时间更改错误的偏移量