2015-08-09 25 views
0

我正在嘗試使用tesseract(3.03)ChoiceIterator來列出序列號中每個字符的可能替代方案。對於一些字符,它似乎是做工精細:(即它不返回任何的替代品)tesseract ChoiceIterator置信度閾值

symbol 3, conf: 82.660316 
    - 3 conf: 82.660316 
    - B conf: 74.598289 
    - S conf: 74.530128 

對於它不工作的其他字符:

symbol I, conf: 90.924942 

現在,我覺得很難相信「我」不容易與「1」混淆(實際上在我的情況下,角色是「1」而不是「我」)。我猜測tesseract必須基於低置信度(即低於某個閾值的置信度)丟棄替代品,但我無法找到任何合適的選項。

回答

1

經過許多小時挖掘Tesseract代碼後,我終於找到了它 - 參數名稱是「matcher_bad_match_pad」,它告訴Tesseract相對於角色的最高置信度預測,截止閾值是多少。所以,在我的例子:

symbol I, conf: 90.924942 

如果「matcher_bad_match_pad」設置爲0.20和信心爲「1」,是說0.70,將被拒絕。修正它是這樣的:

tesseract.SetVariable("matcher_bad_match_pad", "0.25");