Tesseract OCR数字分类结果不佳

时间:2016-02-01 12:40:44

标签: python opencv classification ocr tesseract

我正在进行图像分类任务,我正在使用Tesseract OCR进行数字分类。

我的主要问题是从单个数字的OCR收到非常糟糕的结果。

在网上阅读了很多关于提高Tesseract性能的内容之后,我使用以下一般方案使用OpenCV预处理图像:

  1. 寻找轮廓
  2. 边界框
  3. 裁剪到方框以获得个位数
  4. 阈值化以获取二进制图像
  5. 通过添加白色背景填充图像
  6. 模糊。
  7. 我得到的东西我非常满意,例如:

    我用以下方式调用Tesseract,强调我期待一个数字:

    tesseract input.jpg output.txt - psm 10 digits
    

    我认为Tesseract肯定会正确识别它,但它会返回"。"。

    有没有人有进一步改进的想法?我猜我可以为这种特定的字体训练Tesseract,但由于我会处理不同的字体,我希望有更好的方法。

2 个答案:

答案 0 :(得分:1)

什么版本的Tesseract?它对我有用(注意:' - '和' psm')之间不应该有空格。

$ tesseract ~/Downloads/6digit.jpg stdout -psm 10 digits
6

$ tesseract -v
tesseract 3.05.00dev
 leptonica-1.71
  libgif 4.2.3 : libjpeg 9a : libpng 1.6.21 : libtiff 4.0.6 : zlib 1.2.8 : libwebp 0.5.0 : libopenjp2 2.1.0

答案 1 :(得分:0)

根据@micka的评论,我最终要做的是将所有单个字符组合回一个图像,然后将该图像发送到OCR。由于某些原因,我仍然不清楚,它确实改善了结果。