使用Iphone相机识别特定位置的文字

Recognise text in certain position using the Iphone camera

我想开发一个应用程序,该应用程序应该能够识别计算机打印卡(位于卡的固定位置)中的一些数字,然后将其发送到Web服务。

我知道我应该使用OCR,但是我不确定哪种产品适合我的需求。 如果您可以向我建议市场上的任何api或产品(开源不是必须的,但将非常受欢迎:),那将对我有帮助。

除此之外,我还有另一个技术问题:您是要在设备中实现OCR识别,还是要使用网络服务并通过它将图片传递给它? 两种模式的优缺点是什么?


如果您需要在图像上定位特定字段的解决方案,那么它不仅是OCR,而且是数据捕获任务。有几种解决方法:像其他答案中所建议的那样,基于OCR输出编写现场检测解决方案,或者使用专门为此设计的工具箱,并提供用于定义布局结构的可视化工具。

第一种方法需要更多的编程,但是在许可方面更便宜。您不仅可以选择商业应用,还可以选择开源的OCR库(例如Tesseract),它可能并不完美,但是通过一些调整和字体训练就可以很好地完成许多任务。

当处理低质量的图像(并且电话摄像头拍摄的图像将占其中的很大一部分)时,您的现场定位解决方案将必须注意某些图像部分未被识别或错误识别而仍然能够找到您所需要的领域的情况。想。您可能还需要交叉检查几个识别变量以提供合理的组合。

这并非易事,需要一些时间才能使其可靠运行。但是仍然可行,只要您没有非常复杂的文档,并且只有一种布局并且非常可预测。拥有代码后,就可以在服务器和电话上运行该代码。

如果您正在寻找更复杂的文档和各种布局变体,那么用纯代码来实现此逻辑将变得非常困难。在这种情况下,最好寻找更高级的数据捕获技术。有很多Data Captrue产品,但我知道只有一种以API形式提供:http://www.abbyy.com/flexicapture_engine/

它有两个组成部分。一种是创建和调试文档描述的可视化工具。您只需要在文档上描述字段位置的逻辑,技术就会处理其余的事情:对不同的变体进行投票,考虑重新定居中的错误等等。您可以定义几种备用文档结构和规则,以检查一个值是否与文档布局中的另一个值相对应。这些规则也将影响选择最佳识别变量。

第二个组件实际上是API。您只需将其插入应用程序并加载文档模板描述。在移动识别方案中,由于它太强大,太笨重而无法放入移动设备中,因此只能用作服务器后端处理。但是,这样做的好处是,您不必将其移植到每个移动操作系统,它使用的是全功能OCR技术,而不是适合移动资源的受限技术。该工具包确实包含一些先进的图像处理技术,可使其在通过电话添加的图像上更好地工作。

免责声明:我为ABBYY工作。