如何在 OCR 中区分斜线零和八 (0->8)

How to Distinguish Slashed Zero From Eight (0->8) in OCR

我正在为我的 Android 应用程序(ReCalc:收据计算器)使用 ML Kit for Firebase,它的性能非常好,除了 斜线零 的情况。 在大约一半或更多的情况下,它将斜杠零识别为八。

我的一个想法是将区域中包含零的矩形切片,并检测中间上方和下方的区域是否为暗区域。 但其实...

我打算训练一个模型来对零和八进行分类

工作量很大,所以我决定先在这里再问一个 solution/idea。

这是一个例子:

类似问题:Tesseract OCR confuses slashed 0 as 8

终于自己训练了一个模型

它的准确率还不错(超过98%)。但是我担心它的概括性如何。

这是项目:ZEC - Slashed Zero-Eight Classifier

我还创建了一个应用程序,展示了如何在 Android 上使用该模型:ZECA - Slashed Zero-Eight Classifier for Android