Localizing JavaAnpr for local license plates

2019-08-17 23:07发布

我有工作JavaAnpr自动识别车牌。 虽然它与欧洲的车牌效果很好,它不与我的国家。 例如;

我怎么能编辑的追索文件和XML的语法来支持其他国家呢?

Answer 1:

@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个字符可以是从它们的相应组的任何数字。 接下来的2个字符可以是任何这些信件从各自的一套,最后2个字符可以是任何这些信件从各自的集合。

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

<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个数字板的特定风格。 我怎么没有点因素识别你的盘子,但是,第58页作者的文档的规定:

板的校正装置由另外一个替换每个无效字符。 如果在第i个所述板P的位置所选择的模式不匹配的字符()I P()`SEL P,它将被从()秒y中的第一个有效的一个置换。 ()秒y是表示所识别的字符多少类似于从字母表个别字符输出活动的排序矢量。 分段板的启发式分析可以sometim ES不正确评估非字符要素为字符。 非甜心CTER元件接受导致被识别的板将包含冗余字符。 通常发生在板的两侧多余的字符,但很少在中间。 如果识别出的板数大于升ongest语法图案更长,我们可以选择最近的图案,并根据其拖放冗余字符。



Answer 2:

退房OpenALPR( http://www.openalpr.com )。 它具有跨越不同国家更好的支持。 该库是用C ++(而不是到Java),但应该是容易连接使用JNI。



文章来源: Localizing JavaAnpr for local license plates
标签: java anpr