我正在使用Tesseract(一个OCR库)构建一个iOS应用程序(拍照并在其上运行OCR),并且它可以很好地编写好数字和字符(使用常用字体)。
我遇到的问题是如果我在7段显示器上试用它会产生非常糟糕的结果。
所以我的问题是:有谁知道我怎么能解决这个问题? Tesseract有没有办法识别这些角色?
答案 0 :(得分:9)
我也很难让tesseract识别LCD显示器图像中的数字。
我通过使用ImageMagick对图像进行预处理,将图像的副本叠加在自身上,并略微垂直移动以填充段之间的间隙,从而取得了一定的成功:
$ composite -compose Multiply -geometry +0+3 foo.tif foo.tif foo2.png
最后,我的拯救恩典是“七段光学字符识别”二进制文件:http://www.unix-ag.uni-kl.de/~auerswal/ssocr/
非常感谢作者Erik Auerswald的代码!
答案 1 :(得分:2)
我没有尝试过OCRing 7-Segment Display,但我怀疑这个问题可能是因为字符没有连接组件。 Tesseract不能很好地处理断开连接的字体。
简单的侵蚀(图像预处理)可能有助于连接段,但你必须测试它并使用内核大小来防止过多的失真。