2015-01-09 176 views
2

我在我的android应用程序中使用this进行OCR。Android tesseract OCR改进结果

我正在使用默认相机应用程序拍摄照片并将相同图像送入tesseract库。我目前使用this示例项目。当我处理任何图像时,我会得到不准确的结果以及许多随机的单个字母。我看了很多帖子,发现我需要对我拍的照片做一些预处理,所以请帮助我。任何关于图像处理的详细说明都将非常有用。

谢谢。

This is the sample image

+0

所需的样本图像。 –

+0

我想将它用于从书中提取的任何照片,我仍然会提供样本图像。 – nihartrivedi810

+2

这张图片有两个可能的问题:1)JPEG压缩严重损坏(是否用于OCR?); 2)看起来不太清晰,我怀疑运动模糊(但由于1,很难说)。这种字体(Times?)不会因为地方的笔画变薄而遭受这种降级。运动模糊的最佳治疗方法是:牢牢抓住相机。 –

回答

1

我通过将阈值滤波一个相当不错的结果(85%)。

请注意,您的输入图像不是最好的。

  • 它是模糊
  • 似乎有从通过
  • 页面来页的背面文字是一个角度

如果你能保证页面头戴式没有文字从下面的页面流血,并且图像被聚焦,那么您应该在使用OpenCV进行Tesseract之前应用Otsu或自适应阈值。我有更好的结果往往表演我自己的阈值不是将其留给正方体

http://docs.opencv.org/trunk/doc/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html

+0

我允许用户从相机拍摄图像,我如何施加这种限制。 – nihartrivedi810

+1

你不可能真的 - 你需要教育你的用户作为入职过程的一部分。对于模糊提供点击对焦,对于非流血提供矩形叠加层,用户必须对其进行框架设置,以便强制使用边距并防止出现角度 - 您需要在帮助用户进行原始输入时获得创意真的很好。 – PorridgeBear