Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使iOS上的tesseract更快?_Ios_Performance_Ocr_Tesseract - Fatal编程技术网

如何使iOS上的tesseract更快?

如何使iOS上的tesseract更快?,ios,performance,ocr,tesseract,Ios,Performance,Ocr,Tesseract,我正在ios上与tesseract ocr进行斗争。一切正常,但速度确实很慢。 一行数字的2-3秒重记时间 我在看视频流 我正在使用tesseract 3.01和自定义字体培训文件 以下是我的工作: 设置tesseract仅查找数字(0-9) 收缩、反扭曲和二值化图像 使用GetLines查找我想要的文本行 setRectangle只识别我想要的行 getUTF8Text要获取我的文本我切换到tesseract 3.02的SVN 在交叉编译出现一些问题之后 对于getUTF8Text,我的时间缩

我正在ios上与tesseract ocr进行斗争。一切正常,但速度确实很慢。 一行数字的2-3秒重记时间

我在看视频流

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

以下是我的工作:

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

  • 收缩、反扭曲和二值化图像
  • 使用
    GetLines
    查找我想要的文本行
  • setRectangle
    只识别我想要的行

  • getUTF8Text
    要获取我的文本我切换到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


    也许这对其他人有用。

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

    我听说人们在对包含文本的图像使用自适应阈值进行预处理,然后将二值化图像发送到Tesseract时,可以获得更快的结果。这个问题是关于这个话题的,例如:谢谢你的建议,我忘了提到这是在第1点上做的。将更新我的问题。您能解释一下“…使用setRectangle优化代码而不调用getUTF8Text…”吗?你的意思是说你先检查了矩形边界,如果它们看起来可疑,你就不会调用getUTF8Text了吗?@Thompson是的,我就是这么做的。但现在我找到了我要处理的行。然后自己处理所有的chars盒子,丢弃所有置信度低于20的盒子,这样我就不会收到垃圾。现在速度更快了。