我正在尝试使用Tesseract Open Source OCR Engine进行BIC格式的联运(装运)集装箱代码的文本检测。顺便说一句,我正在通过pytesseract使用tesseract,我用很少的标准opencv过滤(巨大的缩放/模糊/去噪/二进制化)预处理输入的照片。
我以这种方式调整了tesseract(版本:tesseract 5.0.0-alpha-647-g4a00):
config = (
# only a set of characters
' -c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' +
# no language model
' -c load_system_dawg=0' +
' -c load_freq_dawg=0' +
' -c enable_new_segsearch=1' +
' -c language_model_penalty_non_freq_dict_word=1' +
' -c language_model_penalty_non_dict_word=1' +
# select segmentation mode
' --psm 11'
)
当代码水平对齐时,我得到了希望的结果,在这种情况下:
但是我对垂直文本有疑问,如照片中的示例所示:
在最后一种情况下,tesseract无法产生有用的结果。如果输入图像看起来“良好”,为什么tesseract失败事件?关于如何提高引擎识别度的任何建议?
尝试使用--psm 5
运行:
pagesegmode values are:
5 = Assume a single uniform block of vertically aligned text.