Android Tesseract 进度回调

标签 android tesseract

所以我终于设法得到了Android Tesseract Tools编译。一切都按预期工作,除了我不介意某种进度回调。我查看了包装类和 native 包装 cpp 代码,但没有任何处理进度的内容。

是否有一种简单的方法来轮询 Tesseract 以获得某种进展?我对 Tesseract 源代码达到了顶峰,但作为一个母语为 Java 的人,它让我感到害怕。

考虑到 Tesseract 在进度时间方面的可变性,给用户一个 spinner 似乎不好收工吧。如果是我,超过 30 秒没有反馈,我会重试或放弃。

最佳答案

首先,由于 OCR 过程在事物的宏大场景中可以被视为“长时间运行的任务”,因此将其放入异步任务中。 I/O、网络或图像处理之类的事情应该放在异步任务中,因为您不希望这些任务在主 UI 线程上运行。如果用户的手机规范非常低,如果将其留在主 UI 线程上,将需要一些时间并最终导致应用程序不响应错误。

关于进度条,您有几种选择。如果您有有限的时间限制,例如 30 秒,则将进度设置为达到该时间,如果 OCR 过程快于 30 秒,则提前完成。您还可以利用底层 native 代码,但这可能不值得付出努力...

或者,我认为最佳方法是在 OCR 过程的持续时间内设置一个圆形微调器,因为图像可能会有所不同,而且您真的不知道需要多长时间。

关于Android Tesseract 进度回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10426683/

相关文章:

python - Pytessaract image_to_pdf_or_hocr 函数在 AWS lambda 中不起作用

android - 使用 Purchase Status API 验证 Google Play 收据,但总是收到 403 forbidden

java - 应用程序无法在 android 9 版本中运行,但可以在以下版本中运行

java - 我应该使用 Android 中的 View 或 Canvas 类进行绘制吗?

imagemagick - 使用ImageMagick和 'textcleaner'清理OCR图像

c++ - 使用tesseract 3.01的页面布局分析出现的奇怪问题

android - 基于 API 级别请求权限

java - Android 小部件 - NumberPicker 空白焦点

iphone - tesseract OCRing 时如何停止?

linker - n 处的成员不是 ELF 对象