7

クアッドコアプロセッサでTesseractを使用してOCRを実行しています。速度を上げるために、4つのスレッドを使用して一度に4つの単語を読みたいと思います。複数のスレッドから同時にTesseractを呼び出すのは安全ですか?

注:各スレッドは、異なる非共有イメージで動作します。

注:速度が原因で、ロックによる保護は適切ではありません。

4

2 に答える 2

7

リリースノートから、Tesseractは3.01(2011年10月21日)の時点で(ほとんど、そしてあなたが必要としていると説明する程度まで)スレッドセーフです。

スレッドセーフ!すべての重要なグローバル変数と静的変数を適切なクラスのメンバーに移動しました。Tesseractはスレッドセーフになりました(複数のインスタンスを複数のスレッドで並行して使用できます)。ただし、一部の制御パラメーターはグローバルであり、すべてのスレッドに影響します。

私はそれを複数のコアでその長い間(またはそれ以上、devブランチから)うまく使用してきました。

于 2013-05-02T20:06:00.057 に答える
3

tesseractは現在並列化可能ではないと思います(このスレッドを参照)が、v3.0の主な目標の1つは、よりスレッドセーフにすることです。

ただし、 tesseractのn個の並行プロセスを実行することにより、常に並列化できます。単一の画像のOCRを並列化する場合は、画像を分割して、各部分をこれらのn個のプロセス(基本的にはmapreduce)のそれぞれにフィードする必要があります。

于 2011-01-31T04:44:59.023 に答える