7段数码管OCR

14

我正在开发一个iOS应用程序(拍照并对其运行OCR),使用了Tesseract(一种OCR库),在处理书写良好的数字和字符(使用通常的字体)方面效果非常好。

但是,如果我尝试在7段显示器上运行它,则结果非常差。

因此我的问题是:有谁知道我该如何解决这个问题?是否有办法让Tesseract识别这些字符?


3
有趣的是(不考虑特定软件包),识别七段数码管字符要容易得多——简单的图像处理,边缘检测加上找到长度和方向就能解决一半。 - Ofir
2个回答

10

我也曾经在从液晶显示器的图像中识别数字方面遇到了很大的困难。

通过使用ImageMagick对图像进行预处理,将一个带有轻微垂直位移的图像复制叠加在自身上,以填补分段之间的间隙,我还是取得了一些较小的成功:

$ composite -compose Multiply -geometry +0+3  foo.tif foo.tif foo2.png

最后,我的救星是"七段数码管字符识别"二进制文件:http://www.unix-ag.uni-kl.de/~auerswal/ssocr/

非常感谢作者Erik Auerswald提供这个代码!


如何在iOS上运行ssocr? - phnmnn
你在安卓上怎么使用的? - Aung Myat Hein

2
我尚未尝试对 7 段显示器进行 OCR,但我怀疑问题可能是字符不是连通组件导致的。根据我的经验,Tesseract 无法很好地处理不连通的字体。
简单的侵蚀(图像预处理)可能有助于连接段,但您需要测试并调整内核大小以防止过多的失真。

是的,我知道。我尝试自己着色像素,只是为了尝试在图片上使用OCR(带有连接数字),但仍然没有成功。可能是因为字体很奇怪,所以我正在努力解决字体问题。无论如何,感谢您的回答 :) - Karim
2
然后,使用该字体训练Tesseract。最好在连接段之后使用字体,但最好尝试两种方法(使用原始字体和连接的字体进行训练),以查看哪种更好。 - Tomasz Niedabylski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接