Python Tesseract OCR问题

Cod*_*man 10 python ocr tesseract image-manipulation image-processing

我有这个图像:

替代文字

我想用python将它读成字符串,我认为这不会那么难.我发现了tesseract,然后是使用tesseract的python脚本的包装器.

所以我开始阅读图像,直到我尝试阅读这个图片时,它才做得很好.我是否必须训练它才能阅读特定的字体?有关该特定字体的任何想法?或者是否有一个更好的ocr引擎,我可以使用python来完成这项工作.

编辑:也许我可以围绕数字制作某种向量,然后以更大的尺寸重绘它们?更大的图像是更好的tesseract ocr似乎阅读它们(没有意外大声笑).

小智 11

只需训练10位数的引擎和'.' .应该这样做.并确保在OCR之前将图像更改为灰度.


小智 5

训练很难,而不是这里真正需要的.无论脚本如何,O和0以及l和1之间的区别都很难.如果上下文允许,限制OCR仅在数字之间选择可以大大简化问题.

我对tesseract的兴趣在于处理大量数据,来自旧的政府报告.在这种情况下,在有问题的情况下,字符集将类似于"0123456789".在旧的(sourceforge)新闻组中对tesseract发表评论后,通过eric_taj在2007-03-21,您可以修改classify/intproto.cpp中的Templates-> IndexFor和Templates-> ClassIdFor来掩盖不允许的字符. .我在环境变量中修改了这个方法,以便在运行时读取允许的字符集,以便我可以动态调整允许的集合.