如何更快地在iOS上进行tesseract?

时间:2012-07-24 12:14:22

标签: ios performance ocr tesseract

我在ios上与tesseract ocr挣扎。一切正常,但它真的很慢。 单行数字的2 - 3秒识别时间。

我正在阅读视频流。

我正在使用tesseract 3.01和我的字体的自定义培训文件。

以下是我的工作:

仅设置tesseract以查找数字(0-9)

  1. 收缩,歪斜和二值化图像
  2. 使用GetLines查找我想要
  3. 文本的行
  4. setRectangle仅识别我想要的行
  5. getUTF8Text获取文字< - 仅此一段时间需要2-3秒
  6. 有没有建议加快这个过程?

2 个答案:

答案 0 :(得分:7)

我切换到tesseract 3.02的SVN

在遇到交叉编译问题后,

对于getUTF8Text,我降到了大约1.2 - 0.8秒 和0.3 - 0.2秒的图像预处理。

我做了一些测试

  • 二进制化和收缩0.7增加0.3秒但成本为0.1
  • chop_enable = 0对平均速度增益为0.1的速度几乎没有影响,如果分析,它对cpu使用量的50%计算

可用性的主要好处是使用setRectangle优化代码而不调用getUTF8Text 如果我怀疑边界是不正确的。并通过检查一些字符串后处理 接收字符串并应用一些算法来消除最常见的误解 来自tesseract。

也许这对其他人有用。

答案 1 :(得分:0)

您可能想要尝试的一件事是在后台执行此操作。它不会提高识别速度,但通过让用户做其他事情,它可能看起来更快。当然,这取决于用例(我有一个很好的改进,因为它似乎非常快,而我只是比预期更早开始)。诀窍在于ios应用程序是关于感知性能,而不是实际性能(尽管它自然会对感知性能产生很大影响)。