我怎样才能使iOS上的tesseract更快?
我正在苦苦挣扎在ios上的tesseract ocr。 一切正常,但它真的很慢。 2 – 3秒识别一行数字的时间。
我正在阅读videostream。
我正在使用tesseract 3.01与我的字体的自定义培训文件。
这是我做的:
设置tesseract仅查找数字(0-9)
- 收缩,歪斜和二值化图像
- 使用
GetLines
find我想要的文本行 -
setRectangle
只识别我想要的行 -
getUTF8Text
获取我的文本< – 这需要2-3秒
有什么build议可以加快这个过程吗?
我切换到tesseract 3.02的SVN
在交叉编译出现问题之后,
对于getUTF8Text,我下降到大约1.2-0.8秒,对于图像预处理我下降了0.3-0.2秒。
我做了一些testing
- 二值化和0.7收益0.3秒,但成本0.1你
- chop_enable = 0对速度几乎没有影响,速度增益平均为0.1,如果有profiled,则占CPU使用的50%
可用性的主要收获是用setRectangle优化代码,如果我怀疑边界是不正确的,则不调用getUTF8Text。 而一些string后处理通过检查收到的string并应用一些algorithm来消除tesseract中最常见的错误解释。
也许这对别人有用。
你可能想尝试的一件事是在后台做。 它不会提高识别速度,但通过让用户做别的事情,可能会更快。 这当然取决于用例(我有一个好的改进,因为它看起来非常快,而我刚刚开始比预期的更早)。 诀窍是,ios应用程序是关于感知性能,而不是实际性能(尽pipe它自然对感知性能有很大的影响)。