我在 Ubuntu Linux 上使用 tesseract-ocr 包,我已经使用了一段时间,我认为为了提高 OCR 的准确性,我只需要字母表中的字母子集。我需要的字母是:
0123456789abcdefghijklmnopqrstuvwxyz
只有这样,甚至不是大写字母,任何人都可以帮助我指示 tesseract 只匹配字母的子集吗?
谢谢,
import tesseract
api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyz")
api.SetPageSegMode(tesseract.PSM_AUTO)
所以只需在api.SetVariable
.
正方体 2.03 使用
TessBaseAPI::SetVariable("tessedit_char_whitelist", "0123456789");
在调用 Init 函数或将其放入名为 tessdata/configs/digits 的文本文件之前:
tessedit_char_whitelist 0123456789
然后你的命令行变成:
tesseract image.tif outputbase nobatch digits
警告:在新旧配置变量合并之前,您还必须拥有 nobatch 参数。
Tesseract 3 已经创建了一个数字配置文件,所以只需运行一个 tesseract 命令,如下所示:
tesseract imagename outputbase digits
您正在寻找的是 Tesseract 白名单。如果您使用 python 并使用它和 API,我认为这应该可以工作(在 Tesseract Google Group 上找到)。
api.SetVariable("tessedit_char_whitelist", "abcdefghijklmnopqrstuvwxyz0123456789 ");
请注意,我不确定这适用于哪个版本的 Tesseract。