去过也做过。我们正在进行的项目之一是创建一个流程,用于处理来自 iPhone 相机的营养标签,用于健康跟踪应用程序。我的公司决定为这一特殊应用开发一种解决方案——从美国营养标签中提取数据。此解决方案将用于此客户端,但我们决定在此过程中预先打包一些其他灵活功能,以供更广泛的受众使用。该解决方案将在大约 3 周内向公众提供。(我会回到这里并发布更新。)
实现或破坏整个想法的主要目标是获得可用的图像。弯曲的图像、严重的阴影、低分辨率和模糊都会大大降低 OCR 质量,通常甚至没有质量。在应用程序中,我们发现用户培训和指导是最有用的方法。然后是一些技术工具,例如快速检测图像质量并在需要时建议重新拍摄。一般来说,如果你能获得“高质量的燃料”(图片),你可以期待你的“机器”有高性能。
接下来,OCR。Tesseract 可以很好地阅读清晰简单的测试,例如书籍页面。诸如 ABBYY 之类的商业产品在处理粗糙图像方面表现出色——阴影、扭曲、小字体等。不幸的是,如果使用移动图像,它们往往是劣质的,而不是质量好的。
接下来,选择定位和提取数据的方法。请参阅我对文本解析与专业测试提取工具的回答:
https ://stackoverflow.com/questions/3070732/processing-ocred-text
对于我们的项目,我们将使用ABBYY FlexiCapture来获取目标营养数据。即使在 OCR 出错时仍能找到合适的数据(某种受控模糊搜索),它也有特殊的工具,这是为任务选择它的一个重要因素。