这更像是一个算法问题 - 我不是很数学,所以正在寻找一个工艺解决方案......如果这是关于SO的话题,请告诉我,我会删除这个问题。
我创建了一个开源善的混搭,可以在困难的背景上进行光学字符识别:https://github.com/metalaureate/tesseract-docker-ocr
我想用它来扫描带有预定义ID码的标签,例如2826672.数字的准确率约为70%。
问题:如何以编程方式将冗余添加到我的代码中以将准确度提高到99%,以及如何解码?我可以想象一些非常复杂的方式,比如加倍和反转数字,但我不知道如何以一种尊重信息理论的方式来做这件事,而不必翻译大量的数学。
如何添加和解码数字以纠正OCR错误?
答案 0 :(得分:3)
如果您可以自由地打印标签,那么就没有理由坚持使用普通的数字。请改用QR码。大小(信息容量)和信息冗余都是可配置的,因此您可以自定义它以适合您的特定方案。在内部,使用Reed-Solomon纠错。它们提供了大量的库,可以通过扫描生成和识别QR码。
Wikipedia中提供了更多信息。