题
是否有可能限制的字符集的tesseract 是寻找(例如只搜索字母AZ)?这将极大地提高我的成绩。
解决方案
创建的配置文件(例如“字母”)在tessdata / CONFIGS目录 - 通常/usr/share/tesseract/tessdata/configs
结果
或点击
/usr/share/tesseract-ocr/tessdata/configs
和该行添加到配置文件:
tessedit_char_whitelist abcdefghijklmnopqrstuvwxyz
...也许[A-Z]工程..说不上:-)结果 然后调用的tesseract类似于:
tesseract input.tif output nobatch letters
这将限制的tesseract只识别想要的字符
其他提示
要在配置文件或使用-c tessedit_char_whitelist=...
命令行开关用的白名单,在最新版本4.0,你将不得不“只有原始超正方体” OCR引擎模式设置到。这是因为新的“神经网络LSTM”模式不尊重白名单设置。
为4.0版本的适当的命令行的示例:
的tesseract INPUT_FILE OUTPUT_FILE --oem 0 -c tessedit_char_whitelist = ABC123
更新:在新版本(4.0)有默认安装的Windows和某些Linux安装损坏的eng.traineddata
文件。临时解决方案是从旧版本的一个替换tessdata\eng.traineddata
文件。这个文件应该是30MB左右。否则,你会得到错误:“正方体无法加载任何语言!”或类似。
在除了配置文件,是-c
标志:
tesseract stdin stdout -c tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyz -psm 6
只需添加此使用Android上的tesseract任何人。在你的语言设置等添加以下线的readOCR功能;
tesseract.setVariable("tessedit_char_whitelist","ABCDEFGHIJKLMNOPQRSTUVWXYZ");
您也可以做黑名单字符排除。
在超正方体版本4.00,这不能被实现。你只可以微调您的模型或使用正则表达式从预测中删除多余的字符。