将JavaAnpr本地化为本地牌照

时间:2013-03-24 08:58:03

标签: java anpr

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

License plate from my country

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

2 个答案:

答案 0 :(得分:7)

@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

<type name="russia">
   <char content="abcehkmoptxy"/>
   <char content="0123456789"/>
   <char content="0123456789"/>
   <char content="0123456789"/>
   <char content="abcehkmoptxy"/>  
   <char content="abcehkmoptxy"/>
   <char content="0123456789"/>
   <char content="0123456789"/>
</type>

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

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

<type name="russia2">
   <char content="abcehkmoptxy"/>
   <char content="0123456789"/>
   <char content="0123456789"/>
   <char content="0123456789"/>
   <char content="abcehkmoptxy"/>  
   <char content="abcehkmoptxy"/>
   <char content="012"/>
   <char content="0123456789"/>
   <char content="0123456789"/>
</type>

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

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

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

  

板的修正意味着更换   另一个无效字符。如果   字符   ()   一世   p   在我   日   盘子的位置   P   与所选模式不匹配   ()   `   SEL   P   , 它会   被第一个有效的替换   ()   小号   ÿ   。   ()   小号   ÿ   是表示输出活动的排序向量   识别的字符与a相似多少   字母表中的个性。   分段板的启发式分析可以进行   es错误地评估非字符   元素作为字符。接受非chara   cter元素导致认可   盘子将包含多余的字符。冗   字符通常出现在   盘子,但很少在中间。   如果识别的板号长于l   提取语法模式,我们可以选择   最近的模式,并删除冗余字符   根据它。

答案 1 :(得分:3)

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