Android OCR结果与数据库匹配

Android OCR result matching with database

所以我正在尝试使用 OCR 将我用 phone 的相机记录的文本翻译成字符串,我目前正在为 android 使用 Google 视觉 OCR并正确实施了 OCR,问题是有时结果不如预期,这就是为什么我认为可能有效的解决方案是将 OCR 给出的结果与我的数据库相匹配。例如,如果我的相机读取 "How you?",那么我会在我的数据库中找到一个类似于 "How are you?" 的条目,并改为显示它。所以真正的问题是 OCR 不断地从相机读取,这意味着我需要向服务器发出 HTTP 请求并每隔一两秒查询一次数据库以查找类似的匹配项并等待响应,这可能如果有许多用户使服务器过载,则执行会非常糟糕。我想到的一种解决方案是下载数据库中所有字符串的列表并在本地进行匹配,但是如果数据库中的数据在此之后发生变化怎么办?什么是解决此问题的好方法?

我正在使用它来读取超市产品的文本,例如名称和描述,所以我认为与产品名称匹配,然后查询我的数据库以获取所有补充信息。重要的是要注意,这将供视障人士使用,因此阅读条形码目前不是一个好的选择。

这是我的 2 美分。

One solution that I thought was downloading the list of all strings in the database and make the matching locally, but what if the data changes after that in the database? What would be a good approach to this?

这取决于你的数据库有多大。如果它不是太大,那么您可以将其下载到用户的设备上。如果数据库有更新,那么你可以使用 FCM 实现推送机制,让应用程序知道有新版本的数据库要获取。然后你可以在后台获取它并更新你的本地数据库。我还了解到,由于您是为视障人士创建应用程序,因此如果您只要求用户拍照并对其执行 OCR,则可能无法正常工作。这样一来,它就会每秒阻止调用。