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

Tra*_*kov 5 ocr machine-learning firebase-mlkit

我正在将 ML Kit for Firebase 用于我的 Android 应用程序(ReCalc:Receipt Calculator),除了斜线零的情况外,它的性能非常好。在大约一半或更多的情况下,它会将斜线零识别为八。

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

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

这是很多工作,因此我决定首先在这里询问另一个解决方案/想法。

下面是一个例子:

错误识别的零和八的示例

类似问题:Tesseract OCR 将 slashed 0 混淆为 8

Tra*_*kov 0

最后我自己训练了一个模型。

其准确率相当不错(超过98%)。然而我担心它的概括性如何。

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

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