Daa*_*tje 7 android kotlin firebase-mlkit google-mlkit
我正在为自己制作一个应用程序来扫描收据,并将数据放入数据库中。我尝试使用机器学习套件文本识别,效果非常好。但是,我在从识别的文本中提取数据时遇到问题。我将用一个例子来解释:
这是收据的格式,这就是我想要获取数据的方式:
+--------+--------+-------+-------+
| Amount | Name | Price | Total |
+--------+--------+-------+-------+
| 1 | Cheese | | 1,15 |
| 1 | Eggs | | 2,59 |
| 2 | Milk | 0,99 | 1,98 |
| 1 | Butter | | 0,80 |
+--------+--------+-------+-------+
Run Code Online (Sandbox Code Playgroud)
然而,当运行文本识别时,它会以非常奇怪的方式格式化数据。例如,上面的收据将给出这些块:
Amount
Price
Name Cheese Eggs Milk 0,99
Butter
Total 1,15 2,59
1,98 0,80
Run Code Online (Sandbox Code Playgroud)
它似乎跳过了金额列中的单个数字,但我可以解决这个问题。但是,我不知道如何将上述数据解析为我想要的数据,尤其是将价格与名称连接起来。有没有办法改变块,以便只需要收据的行或列,而不是这种随机性?
编辑:当使用线条或元素而不是块时,我得到以下结果:
Amount
Price
Name
Cheese
Eggs
Milk
0,99
Butter
Total
1,15
2,59
1,98
0,80
Run Code Online (Sandbox Code Playgroud)
但是我仍然遇到同样的问题:如何将商品与正确的价格配对?
在这种情况下,尝试使用线条或元素而不是块(https://developers.google.com/ml-kit/vision/text-recognition/android#4.-extract-text-from-blocks-of-recognized-text),然后使用这些块的位置来重建表。
| 归档时间: |
|
| 查看次数: |
3368 次 |
| 最近记录: |