我讀過一些其他帖子,建議他們在3.00中添加多線程支持。但我不確定是否在3.00發佈時添加它。是tesseract 3.00多線程?
除了多線程,運行多個tesseract過程是實現併發性的一個可行選項嗎?
謝謝。
我讀過一些其他帖子,建議他們在3.00中添加多線程支持。但我不確定是否在3.00發佈時添加它。是tesseract 3.00多線程?
除了多線程,運行多個tesseract過程是實現併發性的一個可行選項嗎?
謝謝。
不可以。您可以瀏覽代碼http://code.google.com/p/tesseract-ocr/source/browse/幹線中的當前代碼似乎都不使用多線程。 (至少查看基類,api和神經網絡類)
我做過的一件事情是調用GNU並行來運行Tess *的多個實例,因爲多核系統可以運行多頁文件轉換爲單頁圖像。
這是一個簡短的程序,很容易在大多數Linux發行版上編譯(我正在使用OpenSuSE 11.4)。
下面是我用命令行:
/usr/local/bin/parallel -j 4 \
/usr/local/bin/tesseract -psm 1 -l eng {} {.} \
::: /tmp/tmp/*.jpg
的-J4告訴並行使用所有四個CPU核心,我有一臺服務器上。
如果您運行此操作,並在另一個終端中執行「頂部」操作,則一次最多可以看到四個進程,直到它翻閱指定目錄中的所有JPG文件。
您的負載不應超過系統中CPU內核的數量(如果您運行Linux)。
這裏的鏈接到GNU並行:
我沒有使用parallel
以及上一個CentOS,這種方式:
ls | parallel --gnu "tesseract {} {.}"
我用--gnu
選項從建議stdout日誌是:
parallel: Warning: YOU ARE USING --tollef. IF THINGS ARE ACTING WEIRD USE --gnu.
{}
和{.}
是並行的佔位符:在這種情況下,您要告訴tesseract使用列出的文件作爲第一個參數,並使用沒有擴展名的同一文件名作爲第二個參數 - 在並行手冊頁中很好地解釋了所有內容。
現在,如果你有 - 說 - 三個.tif
文件並運行tesseract
三次,每一個文件,總結了執行時間,然後運行命令上面time
parallel
之前,你可以輕鬆地檢查加速。
[Is Tesseract(OCR引擎)可重複?](http://stackoverflow.com/questions/4827924/is-tesseractan-ocr-engine-reentrant) – 2013-01-21 17:21:34