我正在进行图像分类任务,我正在使用Tesseract OCR进行数字分类 .
我的主要问题是从单个数字的OCR收到非常糟糕的结果 .
在网上阅读了很多关于提高Tesseract性能的内容之后,我使用以下一般方案使用OpenCV预处理图像:
-
寻找轮廓
-
边界框
-
裁剪到方框以获得个位数
-
阈值来获取二进制图像
-
通过添加白色背景填充图像
-
模糊 .
我得到的东西我很满意,例如:
我用以下方式调用Tesseract,强调我期待一个数字:
tesseract input.jpg output.txt - psm 10 digits
我认为Tesseract肯定会正确识别它,但它会返回“ . ” .
有没有人有进一步改进的想法?我猜我可以训练Tesseract这个特定的字体,但因为我会处理不同的字体,我希望有更好的方法 .
2 回答
什么版本的Tesseract?它对我有用(注意:' - '和'psm'之间不应该有空格) .
根据@micka的评论,我最终做的是将所有单个字符组装回一个图像,然后将该图像发送到OCR . 由于某些原因,我仍然不清楚,它确实改善了结果 .