使用 OpenCL 加速 Tesseract

Speeding up Tesseract with OpenCL

我从源代码构建了 Tesseract,并启用了 OpenCL 选项,以加快执行 GetUTF8Text() 所需的时间。我遵循了这些步骤:

cd tesseract-3.03/
./autogen.sh
CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure --enable-opencl
make 
sudo make install 

但是,当我 运行 我的代码使用 Tesseract 时,与使用未启用 OpenCL 选项构建的 Tesseract 相比,我无法体验到任何加速。 我在这里错过了什么吗?我是否应该对 Tesseract 源代码进行一些更改?

可能您没有合适的看板。看看所有 OpenCL conformant boards

我遇到了同样的问题。我能够查明我的设备是否与此代码 answer.

兼容 OpenCL

如果您的设备与 OpenCL 不兼容,上述代码将 return 一个(空)分数和分析时间。

此外,您确保克隆了最新版本的 tesseract (3.04.00) 源代码,因为它们可能已经修复了您在其最新版本中遇到的错误。

无论如何,我不确定 OpenCL 是否能加速 tesseract:

这里是一些快速测试,使用 nvidia opencl 驱动程序、amd opencl 驱动程序(通过 CPU)和原生 tesseract 处理器。

[DS] Device[1] 1:GeForce GTX 960 score is 0.140693
[DS] Device[2] 1:AMD FX(tm)-8350 Eight-Core Processor score is 0.751782
[DS] Device[3] 0:(null) score is 0.891833


[DS] Selected Device[1]: "GeForce GTX 960" (OpenCL)
real    0m3.385s
user    0m2.872s
sys     0m0.476s

[DS] Overridden Device[2]: "AMD FX(tm)-8350 Eight-Core Processor" (OpenCL)
real    0m3.581s
user    0m6.700s
sys     0m0.188s

[DS] Overridden Device[3]: "(null)" (Native)
real    0m3.307s
user    0m3.144s
sys     0m0.160s