训练 tesseract 以与 iPhone 一起使用
Posted
技术标签:
【中文标题】训练 tesseract 以与 iPhone 一起使用【英文标题】:Training tesseract to use with iPhone 【发布时间】:2011-03-09 14:25:28 【问题描述】:我试图在我的 iPhone 应用程序中使用 tesseract-2.04 并且只想检测数字。我在这里做的是首先我使用这篇文章http://robertcarlsen.net/2009/07/15/cross-compiling-for-iphone-dev-884 交叉编译tesseract 以生成lib 文件,然后使用http://robertcarlsen.net/2010/01/12/ocr-for-iphone-source-1080 的演示应用程序,但结果远非现实。
我无法解决问题或如何训练 tesseract 以使其在实际使用中关闭。
请帮忙。
谢谢,
马杜普
【问题讨论】:
您是否尝试识别一组特定的数字?喜欢特定的字体?或者只是通用的“识别数字”。 @christophercotton 该应用程序可以很好地识别特定字体,我只是想让该应用程序能够理解更多字体,为此我需要添加字体,我无法弄清楚我应该如何添加这些字体和字体的格式。 有一个非常详细的关于如何训练 tesseract 的版本,虽然我没有完成这个过程,所以我没有做出答案。 code.google.com/p/tesseract-ocr/wiki/TrainingTesseract好像挺牵扯的@你看过那里关于如何生成新的训练角色吗? 如果您不介意为 OCR 调用外部 Web API 而不是使用 Tesseract,可以使用专门针对移动设备相机/低质量图像优化的 API:WiseTrend OCR API (@987654324 @ , 注册 webservius.com/cons/subscribe.aspx?p=wisetrend&s=wiseocr ) - 它基于 ABBYY 引擎。 【参考方案1】:我得到了很好的结果设置
TessBaseAPI::SetVariable("tessedit_char_whitelist", "0123456789");
同时轻轻地敦促用户让数字适合某个框。这使我更容易找到数字,并确保用户保持图像稳定并保持在合理的距离上,从而获得更清晰的图像。
我曾考虑过修改 tesseract-2.04/dict/permute.cpp 中的 valid_word(),但似乎没有必要。
下一步将硬编码最小/最大字符大小,以便识别时间可以比现在的 500 毫秒少得多。然后下一步将添加一些及时跟踪结果的代码,这样阅读5
90% 的时间和只有10% 的时间阅读8
将导致代码记住5
。
这完全取决于您的用例。从某种意义上说,我很幸运,我可以只展示一个包含数字的 200x50 框。
【讨论】:
好的答案+1。你能告诉我你是从哪里得到这个想法的,或者这些东西是从哪里记录下来的 白名单记录在案(在某处,谷歌是你的朋友),其他事情是我的计划,同时等待项目是否会获得go。以上是关于训练 tesseract 以与 iPhone 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
更新为 iPhone 5 制作的 XIB 以与 iPhone 6 和 iPhone 6 Plus 一起使用