答案 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进行连接。