2012-08-14 296 views
2

我在我的iOS应用程序中使用Tesseract OCR 3.01,当我从手机库中选取图像时,它显示90%的准确性。但是如果我使用相机中的相同图像,它会显示混乱的字母。我跟着this tutorial,好心引导我,如果可以做些什么来确保它可以在相机上工作,因为它适用于图库图像。Tesseract OCR相机

回答

2

几乎肯定问题是“定位”。苹果倾向于以一个位图的形式创建图像 - 图像位的排列方式就好像相机在音量按钮的右侧和右侧一样。您看到的高于宽度的图像仍按上述布局,但图像中包含的EXIF对象中有一个“方向”。

我想猜测tesseract不会看EXIF,但期望图像处于“标准”格式,以便文本处于阅读文本的人的位置。

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

如果它们工作,那么您将需要做的是自己处理图像,并根据方向设置重新排列位。这并不是所有这些都很难做到的事情,但需要您阅读vImage和/或位图上下文。

+0

即使这样的输出来等特殊符号 – srividya 2012-08-14 11:46:37

+0

例如“5>;¢%〜_»”。'__»M'〜<__"> 7_'i¢“~~ _ '“' _,$ 35 _f” _ <__ _ __;“> s <_:3_;' _。_'__--〜.._〜> _〜。<〜; _4f'fn _x> .__,__._ _ - '= _ j'@_f;:_ ;;“__'-' “_”; _'_'。“” – srividya 2012-08-14 11:47:13

+0

显然,图像有些不同之处!看看它们的大小 - 相机图像是否更大?方向是否影响结果?我没有这个框架的经验,也许其他人有,并可以直接回答这个问题 – 2012-08-14 11:59:25

3

是的,有三件事情需要具体说明,首先,OCR适用于黑白图像而非彩色图像,所以如果您可以尝试将图像转换为B,则会提高准确性。

第二件事是尺寸和方向,你需要强制图像为640 * 480或320尺寸,这将增加识别速度和准确性,对于定位,有很多的管理方式。最后,如果某些方法可以允许用户指定他想要执行OCR的图像的哪一部分或哪部分,则由于库不需要检查整个图像,这大大增加了准确性和时间对于文本而言,您已经指定了要搜索的部分。

PS:我一直在为过去几周创建一个OCR应用程序。