如何在 OCR 扫描代码中添加冗余

met*_*ate 5 algorithm ocr

这更多的是一个算法问题 - 我不太懂数学,所以正在寻找一个工程解决方案......如果这与主题无关,请告诉我,我将删除该问题。

我创建了一个开源软件的混搭,可以在困难的背景上进行光学字符识别:https://github.com/metalaureate/tesseract-docker-ocr

我想用它来扫描带有预定义ID代码的标签,例如2826672。数字的准确度约为70%。

问题:如何以编程方式向代码中添加冗余以将准确度提高到 99%,以及如何对其进行解码?我可以想象一些非常笨拙的方法,比如将数字加倍和反转,但我不知道如何以尊重信息论的方式做到这一点,而无需翻译大量数学。

如何添加和解码数字以纠正 OCR 错误?

Ond*_*cny 3

如果您可以自由地实际打印标签,那么就没有理由坚持使用简单的数字。请改用二维码。大小(信息容量)和信息冗余都是可配置的,因此您可以对其进行自定义以适合您的特定场景。在内部,使用里德-所罗门纠错。他们提供了大量用于 QR 码生成和扫描识别的库。

更多信息请参见维基百科