我在Flutter项目中使用了”firebase_ml_vision”包,识别功能可以很好地获取结果,但是当我调试识别功能查看它获取的内容时,所有包含0的数据都被替换成了O,我不明白这是为什么?
例子:”FR0010785709″被替换成了”FROO10785709″。
能有人解释一下这是怎么回事吗?
回答:
文本识别软件常常会将0
和O
混淆,就像1
和i
/I
、8
和B
以及其他一些字符一样。对于ML Kit的预构建文本识别模型,你无法进行任何配置来改善这种情况。
如果你知道文本应该如何结构化,有时候可以在后处理中修复这些问题。我过去在扫描收据时就这样做过,因为ML Kit总是错误地分类货币符号。由于我知道它们是货币符号,我有一组更小的合理值,所以通常可以从中推断出来。
另一种方法是:你可以在你已经正确分类的数据集上训练自己的模型。但老实说,在你开始看到改进之前,这将是一项大量的工作。