Tesseract:舊文件中的 OCR 十六進位和二進位字串

Tesseract:舊文件中的 OCR 十六進位和二進位字串

我有一些關於 Tesseract 的問題

情境

我目前正在研究一種來自東德 (GDR) 的 80 年代開發的舊密碼演算法。我用 C# 實作了該演算法。現在我有大約 30 頁的測試案例需要檢查。因為我不想手動輸入每個二進位/十六進位字串,所以我想使用 Tesseract(或任何可用的免費軟體)對其進行 OCR。

問題

我很難獲得令人滿意的結果。下面更詳細地解釋。

目前狀態

(抱歉,我不能直接發布圖片)該文件如下所示: 頁面的一部分/詳細字母

天真的方法

使用預設設定(我使用德語對於相關部分來說應該無關緊要)我得到了悲慘的結果。

tesseract -l deu input.tiff output pdf

結果看起來像
尤其是零會帶來麻煩。單字、字母和個數的辨識效果更好一些。

我嘗試過的(預處理)

  1. 旋轉頁面
  2. 增加對比度
  3. 二值化影像
  4. 腐蝕/膨脹影像以填充字母之間的小間隙

最終結果看起來像。據我所知,OCR 應該會讓事情變得更好一點。

我嘗試過的(超立方體設定)

我的設定檔如下所示:

load_system_dawg F
load_freq_dawg F
language_model_penalty_non_dict_word 0
language_model_penalty_non_freq_dict_word 0
tessedit_create_pdf T
tessedit_char_whitelist 0123456789ABCDEF

我基本上告訴 Tesseract 不要嘗試從字母中產生有用的單詞,而只允許十六進位字串所需的字元。

如你看到的這裡這會帶來稍微好一點的結果,但並非在所有情況下都是如此。最後一行中的一些零的檢測效果明顯較好。在 F 之間沒有發生任何有用的事情。

神經網路與經典 OCR (--oem 0/1) 的設定略有不同。經典演算法將許多 0 檢測為 9(從不檢測為 0),但更加一致(但不好)

問題

我可以進一步做些什麼來改善結果?我知道我可以另外訓練神經網絡,但就我所讀到的內容而言,這需要一些努力,我想避免這些努力(為自己構建 Tesseract、讓 ML 東西發揮作用、製作標記的測試數據等)。

還要別的嗎?

感謝您的協助。

相關內容