android - 如何在同一 X 轴坐标上获取文本块 [Google Cloud Vision API]
问题描述
所以我正在尝试在 Android 中实现一个个人项目,您可以在其中扫描来自购物中心的不同收据。我想提出一个模块,通过自动化尽可能多的活动来帮助用户的手动输入。情况是:
我想获取收据的总和,知道作为标准,它可以在这样的一行中找到:TOTAL............ 33.9 Currency。我如何才能真正获得与包含“Total”的块在同一轴上的块?
同样的事情适用于每个单独的产品,我想获取每个单独的购物车产品的值及其值并将其放入 Android 中的编辑文本中,以便用户可以进行最后的修饰。
收据示例:
解决方案
要逐行获取文本,您需要设置一个自定义逻辑,该逻辑将根据 Google Vision API 返回的符号处理行,这可以按照以下步骤进行:
- 创建 a 中返回的所有符号的集合
TextAnnotation
- 遍历集合并
string
根据检查第一个符号的 X 坐标创建一条线,该坐标givenSymbol.BoundingBox.Vertices[2].X
与所有其他符号的 X 坐标相对。 - 实施检查以跳过已处理的单词并考虑实施 X 偏移,这将检查给定的 X 坐标是否与您正在检查的坐标足够接近,以解释稍微倾斜的输入文本。
推荐阅读
- python - opt.curve_fit 只有一个参数
- javascript - 如何操作带有附加了jquery的id属性的行
- sql - 使用查询创建 SQL XML
- c++ - 在成为指向基类的指针后如何保留对子类方法的使用?
- php - PHP / JSON:我如何知道 JSON 数据是否为空?
- java - Tomcat 在会话故障转移事件期间注销用户并重新启动
- reactjs - 在状态转换错误期间无法更新 - 导航到另一个屏幕时使用钩子做出本机反应
- google-kubernetes-engine - 如何使用 stackdriver 监控 GKE 集群 PODS 中的 JVM 堆内存
- python - 为什么颜色条不能与热图熔断器一起使用来散射?
- react-native - 使用 Visual Studio Code 中的特定注释使代码在自定义位置可折叠?