一个伟大的阅读! http://robotics.usc.edu/publications/downloads/pub/635/
关于车牌的偏斜问题:
问题:当从不固定视点的手持式照相机或其他成像设备(如扫描仪)获取OCR输入时,文本行可能会偏离其原始方向[13]。根据我们的实验,将这样旋转的图像馈送到我们的OCR引擎会产生极差的结果。建议的方法:在调用识别引擎之前,需要进行歪斜检测过程。如果检测到任何歪斜,在进一步处理文本之前,将执行自动旋转过程以纠正歪斜。在确定用于偏斜检测的算法时,我们发现许多方法,例如[13]中提到的方法,都是基于文档有一定余量的假设。但是,这种假设并不总是适用于我们的应用程序。另外,基于形态学运算和投影方法的传统方法非常慢,并且在存在相机捕获的图像的情况下往往会失败。在这项工作中,我们选择基于Branchand-Bound文本行查找算法(RAST算法)[25]的更健壮的方法来进行倾斜检测和自动旋转。该算法的基本思想是独立识别每条线,并使用最佳刻线的斜率作为整个文本段的倾斜角。在检测到倾斜角之后,相应地进行旋转。根据我们的实验,我们发现该算法具有很高的鲁棒性,极高的效率和速度。但是,它在检测不到大于30的旋转方面受到一个较小的限制。我们还尝试了一种替代方法,该方法可以检测到最大90度的任何倾斜角。但是,此方法基于某种形式的存在在图像上的十字架。由于缺乏可扩展性,我们决定坚持使用RAST算法。
0
好吧,我正在使用此OCR的.NET版本,可以在http://www.pixel-technology.com/freeware/tessnet2/中找到
我可以正常工作,但是这样做的目的是翻译车牌,可惜引擎确实不能准确翻译一些字母,例如,这是我扫描以确定字符问题的图像
结果:
12345B7B9U ABCDEFGHIJKLMNUPIJRSTUVHXYZ
因此,以下字符被错误地翻译:
1,O,Q,W
这似乎还不错,但是在我的车牌上,结果并不是很好:
假测试
如您所知,我已经尝试了降噪,增加对比度并删除不是绝对黑的像素,但没有真正的改进。
显然,您可以“学习”引擎的新字体,但是我想我需要重新编译.NET的库,而且看来这是在我没有的Linux操作系统上执行的。
http://www.scribd.com/doc/16747664/Tesseract-Trainingfor-Khmer-LanguageFor-Posting
因此,我为下一步尝试着迷,我编写了一个快速控制台应用程序,纯粹是出于测试目的,如果有人想尝试的话。如果有人有任何想法/图形处理/图书馆思想,我将不胜感激。