正方体 OCR 相机

Posted

技术标签:

【中文标题】正方体 OCR 相机【英文标题】:Tesseract OCR Camera 【发布时间】:2012-08-10 16:08:36 【问题描述】:

我在我的 ios 应用程序中使用 Tesseract OCR 3.01,当我从手机库中选择图像时,它显示我的数据准确率为 90%。但是,如果我使用相机中的相同图像,它会显示混乱的字母。我关注了this tutorial,请指导我是否可以做些什么来确保它在相机上工作,因为它适用于画廊图像。

【问题讨论】:

【参考方案1】:

是的,要具体说明三点,首先,OCR 对黑白图像效果很好,而不是彩色图像,所以如果你可以尝试将图像转换为黑白图像,它会提高准确性。

第二个是大小和方向,你需要强制图像为640*480或320大小,这样既可以提高识别速度,也可以提高准确率,对于方向,有很多管理方法。

最后,如果您可以允许用户指定他想要执行 OCR 的确切位置或图像的哪个部分,这将大大提高准确性和时间,因为库不需要检查整个图像文本,而不是您已经指定要搜索的部分。

PS:过去几周我一直致力于创建 OCR 应用程序。

【讨论】:

【参考方案2】:

几乎可以肯定,问题在于“方向”。苹果倾向于以一种位图的形式创建图像——图像位的布局就好像相机在它的一侧,音量按钮在顶部和右侧。您看到的看起来更高而不是更宽的图像仍按上述方式布置,但图像中包含的 EXIF 对象中有一个“方向”。

我猜 tesseract 不查看 EXIF,但希望图像采用“标准”格式,以便文本处于阅读文本的位置。

您可以使用右上角音量按钮拍摄的相机图像来验证我的假设。

如果它们有效,那么您需要自己处理图像,并根据方向设置重新排列位。这并不难做到,但需要您阅读 vImage 和/或位图上下文。

【讨论】:

即使这样输出也像特殊符号 例如 " 5>;¢%~_» " ' __ »M'~<__>7_'i¢“~~ _ ' " ' ,$.35 _f " _<_> _ ;“>s<_ :3_ _ ._>_--~.._~>_~..,._ - ' = _ j '@_f ;:_;;“'-'._;_'_'.»” 显然图片有些不同!看看它们的大小 - 相机图像更大吗?方向会影响结果吗?我没有这个框架的经验,也许其他人有并且可以直接回答这个问题。 正如大卫所说,方向是问题之一,另一个问题是 iPhone 相机图像分辨率。我使用的是 UIImagepicker 视图,图像分辨率约为 1900 * 1900,但对于 tesseract,如果分辨率约为 640 * 480,它会提供不错的输出。所以我选择了 AVCam 并设置了相机的分辨率并应用了一些预处理技术。

以上是关于正方体 OCR 相机的主要内容,如果未能解决你的问题,请参考以下文章

使用android相机的简单OCR应用程序[重复]

OCR识别,车牌识别相机的基础

如何使用 Google TextRecognizer 或 Tesseract 在相机帧的子集上执行 OCR

UIImagePickerController 从相机拍照 - 默认为正方形

如何将“相机”放在 OpenGL 中的立方体内

在android opengl es中检测面向相机的立方体的一侧