
答案1
超立方體
截至 2020 年,最好的開源 OCR 軟體是超立方體4以其新的LSTM神經網路OCR模型。其 OCR 效能比版本 3 中使用的先前 OCR 模型好得多。
範例(output.pdf
為掃描的德語文件產生帶有文字圖層的 PDF 檔案):
$ echo page-*.png > input.list
$ tesseract --oem 1 -l deu input.list output pdf
(--oem 1
啟用 LSTM 引擎)
將識別的文字列印到標準輸出:
$ tesseract --oem 1 -l deu page page-0001.png stdout
列出已安裝的語言:
$ tesseract --list-langs
以可下載的形式提供多種語言/腳本的支持訓練資料集,例如甚至還有 Fraktur 的資料集。
透過新的 LSTM 模型,Tesseract 從奧克羅普斯研究項目。
即使在高品質的輸入圖像上,Tesseract 版本3 的性能也相對較差,即它經常錯誤地檢測灰塵像素中的單個字元(在任何文字上下文之外),並且很容易在眾所周知的單字中引入單個字元錯誤。
楔形文字
楔形文字OCR 效能並沒有那麼糟糕,但它沒有得到積極維護(最後一次發佈於 2011 年,版本 1.1)並且很容易崩潰並存在其他一些問題:
您可以像這樣停用佈局演算法:
$ cuneiform --singlecolumn -l ger -f text -o foo.txt image-0001
(-l
指定來源文檔的語言)
奧克拉德
奧克拉德範例呼叫:
$ ocrad -F utf8 image-0001
文字預設列印到標準輸出。
在商業文件中,它遺漏了一個帶有下劃線的單詞,而 cuneiform/tesseract/gocr 卻沒有。
Ocrad 手冊包含以下內容的部分:使用的演算法,例如:
5) 偵測字元並將其按行分組。
6) 辨識字元(非常臨時;每個字元一種演算法)。
7) 修正一些歧義(將 l.OOO 轉換為 1.000 等)。
GOCR
GOCR範例呼叫:
$ gocr image-0001
文字預設列印到標準輸出。
GOCR 文件沒有包含有關 OCR 使用哪些模型/方法的詳細資訊。
硬體
薩內對某些自動送稿機 (ADF) 掃描器有很好的支持,例如願景和富士通那些。
Sane 中包含一個scanimage
命令列程序,您可以使用它來建立腳本化掃描管道(請參閱例如我的adf2pdf.py
腳本)。
答案2
我找到了一個StackOverflow 上有類似的問題和Asprise OCR SDK,連結之一商業的產品,擁有 Linux 版本。
答案3
... OCR 不僅僅是「僅字元辨識」。影像處理、預處理 - 頁面/佈局分析以尋找文字、圖像、表格或條碼。為了識別,你必須處理不同的字體、大小和語言。這很重要,因為要獲得好的結果,您必須使用字典和語言定義。最後,人們期望有比文字更多的匯出選項(例如 XML、RTF 或可搜尋的 PDF)。 SDK 有一些商業選項,但它們並不便宜而且免費。
最近我發現一個ABBYY 適用於 Linux 的 CLI OCR。有 100 頁的免費試用版。
答案4
如果你有預算的話我強烈推薦適用於 Linux 的 ABBYY FineReader Engine CLI。我們公司已經在我們的網路應用程式中使用它一年了,我們計劃更新許可證。非常好的識別質量,命令列介面,多語言識別。