将JavaAnpr本地化为本地牌照

我正在使用JavaAnpr来自动识别车牌。 虽然它适用于欧洲车牌,但它不适用于我的国家。 例如;

来自我国的车牌

我如何编辑追索文件和语法XML以支持其他国家/地区?

@michel_layyous – 这是作者的文档。 阅读第57页: http : //javaanpr.sourceforge.net/anpr.pdf

syntax.xml本质上是一个正则表达式文件。

以此页面为例: https : //code.google.com/p/android-anpr/source/browse/trunk/res/raw/syntax.xml?r = 21

          

这个俄罗斯车牌图案是8个字符。 第一个字符可以是任何这些字母。 接下来的3个字符可以是各自的集合中的任意数字。 接下来的2个字符可以是来自各自集合的任何字母,最后2个字符可以是来自各自集合的任何字母。

下一个俄罗斯车牌就像第一个俄罗斯车牌,除了一个关键的区别:

            

第6个字符只能是0,1或2。

我还在此页面上找到了一个相关的模糊: http : //www.mp3car.com/software-and-software-development/124529-automatic-number-plate-recognition-anpr-3.html

我为你的国家找到了一个非常相似的车牌,但它有两排。 前两个数字位于顶行,底行有5个数字。 看起来您的国家/地区有7位数字适合您的特定样式。 我并不知道如何将点因素识别到你的盘子中,但是,作者的文档说明:

板的校正意味着用另一个无效字符替换每个无效字符。 如果在板P的第i个位置处的字符()i p与所选择的模式()`sel P不匹配,则它将被来自()s y的第一个有效的一个替换。 ()s y是输出活动的排序向量,表示识别出的字符与字母表中的单个字符的相似程度。 分段板的启发式分析可能会错误地将非字符元素评估为字符。 接受非特征元素会导致识别的板块包含冗余字符。 冗余字符通常出现在板的两侧,但很少出现在中间。 如果识别的板号比l摄取语法模式长,我们可以选择最近的模式,并根据它删除冗余字符。

查看OpenALPR( http://www.openalpr.com )。 它在各个国家都有更好的支持。 该库是用C ++编写的(而不是Java),但应该很容易使用JNI进行连接。

Interesting Posts