2013-02-13 149 views
4

我正在使用Tesseract,我想開發一個能夠識別字符序列的應用程序。我有很好的結果,但不是很好。Tesseract OCR:是否可以強制特定模式?

字符序列我想讀的有總是一個特定的模式,讓我們說:

數數數炭炭 - (如:123AB)

有沒有辦法「告訴「ocr引擎的結構總是固定的,爲了提高識別的結果?

預先感謝您。

+0

這個帖子[ 「限制字符的Tesseract正在尋找」(http://stackoverflow.com/ question/2363490/limit-characters-tesseract-is-looking-for)也許對你有些用處 – DMK 2013-02-13 16:48:47

+0

謝謝,我看了一下,但沒有幫助。關鍵是在我的序列中,我可以擁有所有可能的字符[A-Z]和數字[0-9],所以我不能使用任何限制。 我唯一的信息是前3個字符是數字,而最後2個字符。 – stei2348 2013-02-14 09:27:53

+0

@ stei2348:您可以對結果字符串進行一些後處理,例如將I轉換爲1,反之亦然。或預處理源圖像。 – 2013-12-09 23:52:34

回答

0

您可以使用 「tessedit_char_whitelist」 參數

3

嘗試在正方體bazaar匹配模式:

\d\d\d\c\c 
+0

根據文檔: 「注意:在選擇要包含的模式時,請注意提供非常通用模式的事實會使得運行速度變慢......由於可能難以識別的潛在速度問題,每個用戶模式必須至少從unicharset開始具有kSaneNumConcreteChars具體字符。「 含義該模式將被忽略,因爲它具有少於4個具體字符。 4是kSaneNumConcreteChars的當前硬編碼值。 – willsteel 2015-07-29 08:58:51

+0

我剛纔看了一下GitHub,似乎kSaneNumConcreteChars現在被硬編碼爲「0」。在此處查看:https://github.com/tesseract-ocr/tesseract/blob/master/dict/trie.h – katzenhut 2017-01-27 15:29:14