Tesseract Trained数据

nic*_*cky 24 tesseract

我试图使用Tessaract从收据和账单中提取数据,我使用的是tesseract 3.02版本.

我只使用英文数据,输出精度仍为60%左右.

是否有任何训练有素的数据,我只是替换tessdata文件夹

Kur*_*fle 29

这是作为"典型示例文件"提供的图像:

典型的示例文件

看着它我会清楚地说:"算了吧,尼基!你无法训练Tesseract从这种类型的图像中识别出100%的文字!"

但是,你可以训练自己使用这种类型的收据用iPhone 3GS(这是用于示例图片的设备)制作更好的照片.以下是一些提示:

  • 不要使用深色背景.使用白色代替.
  • 不要让收据纸崩溃.理顺它.
  • 不要将收据松散地放在不平的地下.将其固定在平坦的表面上:
    • 将其放在白纸上,然后将玻璃板放在上面.
    • 或者使用一些胶水并将其平放在白纸上,没有任何弯曲的边缘或角落.
  • 不要像640x480像素那样使用低分辨率(如示例图片所示).使用较高的一个,例如1280x960像素.
  • 不要使用标准曝光.将相机设置为使用极高对比度.你希望字母为黑色,白色背景为白色(图片中不需要灰色......)
  • 尝试使其成为10-12磅字体的任何字符使用大约24-30像素的高度(即,使图像为100%变焦时约为300 dpi).

也就是说,像下面的ImageMagick命令可能会在某种程度上提高Tesseract的识别率:

convert                               \
   http://i.stack.imgur.com/q3Ad4.jpg \
  -colorspace gray                    \
  -rotate 90                          \
  -crop 260x540+110+75 +repage        \
  -scale 166%                         \
  -normalize                          \
  -colors 32                          \
   out1 .png
Run Code Online (Sandbox Code Playgroud)

它产生以下输出:

针对OCR的ImageMagick优化

您甚至-threshold 30% 可以在上面的命令中添加类似上一个命令行选项的内容来获取:

在此输入图像描述

(您应该对30%值进行一些修改以调整结果...我没有时间进行此操作.)


小智 12

tesseract不可能从收据中获取准确的信息.您需要添加图像过滤器和一些其他工具,如OpenCV,NumPy ImageMagick和Tesseract.Franck Chastagnol在PyCon 2013上做了一个演讲,他描述了他的公司是如何做到的.

这是链接:http: //pyvideo.org/video/1702/building-an-image-processing-pipeline-with-python