我一直在开发一个使用 tesseract OCR(光学字符识别)的 android 应用程序,想知道是否有一种方法可以改进小文本的结果。
我已经尝试用我自己的常用词列表(使用 wordlist2dawg)重新编译标准词典,但没有看到任何改进(我什至不知道它是否有帮助!)。我还听说可以更改 tesseract 使用字典单词的阈值,但我不知道该怎么做。
如果有人知道我可以如何改进 tesseract 给我的结果,我将非常感激!
最佳答案
我知道一些可能对您有帮助的选项:
- 在图像边框和文本之间添加额外的空间。如果图像中的文本位于边缘,Tesseract 会很糟糕。
- 复制你的形象。例如,如果您对单词“foobar”执行 OCR,克隆图像并将“foobar foobar foobar foobar foobar”发送到 tesseract,结果会更好。
- Google 为 tesseract 进行字体训练和图像二值化。
请记住,移动设备中的内置摄像头大多会生成低质量图像(模糊、噪点、倾斜等)。OCR 本身是一个资源消耗过程,如果您为此添加有值(value)的图像预处理,低端和中端移动设备(可能有安卓系统)可能会面临意外的性能下降甚至资源匮乏。这对于免费/学习项目来说没问题,但如果您计划开发商业应用程序,请考虑使用更好的 SDK。
有关详细信息,请查看此问题:OCR for android
关于android - 改进 Android 上的 Tesseract 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9711323/