2013-06-04 28 views
6

我有Android应用程序在文档上执行OCR。 我希望能够在将图像发送到服务器之前对图像进行一些测试。 所以我的问题是如果有任何工具/代码可用于测量图像焦点,然后我将它发送到服务器。 我希望能够知道图像是否处于焦点(不够清晰),从服务器端保存处理时间而不是发送它。 感谢的 大卫检查OCR之前的图像质量

+0

这几天手机很快..为什么不在客户端上执行OCR,并将*结果*发送到服务器进行验证? – bdares

+0

https://github.com/rmtheis/tess-two/blob/master/eyes-two/jni/imageutils/blur.cpp – rmtheis

回答

2

大卫,这是一个很好的问题。请收集更多反馈意见,以便与我们分享您的调查结果。

我已经使用过,并且在处理这个重要步骤时看到了几种技术。现实是,让用户拍摄好照片要容易得多,而不是检测或纠正床图像,在很多情况下甚至不可能。所以检测很好,但不应该是第一个动作。有很多选项可以在图像检查之前触发,我将在下面列出几个选项。

技术(技术和非技术),在过去的工作对我来说,还是人与我曾工作过的或听说的:

  • 抖动检测。在拍摄照片时使用设备的加速度来检查晃动。好方法,但主要用于明亮的照明。在黑暗的环境中,即使抖动很小,照片也可以很容易地弄脏。该方法必须与其他方法结合使用。

  • 设备上的二值化。它不仅可以让你压缩并准备图像进行高效传输,还可以让你清晰地看到文字的质量。查看黑暗背景的彩色图像并不像查看这些字符的黑白边缘那样清楚单个字符的清晰度。

  • 预览屏幕。允许用户看到他们拍摄并准备提交的照片。我经常看到允许预览图片的应用,但在双击时缩放功能被禁用。任何文字(即使不好)都会在小屏幕上看起来不错,因为你实际上看不到文字。

  • 我称之为'强制预览'。拍照后,最好在二值化之后,自动缩放10倍,并要求用户确认是否看到清晰的文字。这似乎是侵入性的,所以一个好的设计在这里很重要,但这种方法是可靠的,因为它可以作为一个必需的步骤。

  • 简单的指导说明...如何拍好照片!一些应用程序在第一次显示时显示一次。有些应用程序会让您有机会禁用。在我的应用程序中,在iOS上更新我的应用程序FotoNote之后提供了这些说明后,我看到质量大幅度提高。