私は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
<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文字は、それぞれのセットの文字のいずれかです。
次のロシアのナンバープレートは、最初のロシアのナンバープレートと同じですが、重要な違いが1つあります。
<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
あなたの国で非常によく似たナンバープレートを見つけましたが、2列で構成されています。最初の2つの番号は上の行にあり、下の行には5つの番号があります。あなたの国はあなたの特定のプレートのスタイルのために7桁を持っているようです。ドットがプレートの認識にどのように影響するかはわかりませんが、著者のドキュメントの58ページには次のように記載されています。
プレートの修正とは、無効な各文字を別の文字に置き換えることを意味します。プレートPのi番目の位置にある文字()i pが、選択したパターン() `sel Pと一致しない場合、()syからの最初の有効なパターンに置き換えられます。()s yは、認識された文字がアルファベットの個々の文字にどれだけ類似しているかを示す、出力アクティビティのソートされたベクトルです。セグメント化されたプレートのヒューリスティック分析は、文字以外の要素を文字として誤って評価する場合があります。非文字要素を受け入れると、認識されたプレートに冗長な文字が含まれることになります。冗長な文字は通常、プレートの側面に発生しますが、中央に発生することはめったにありません。認識されたプレート番号が最大の構文パターンよりも長い場合、
OpenALPR(http://www.openalpr.com)をチェックしてください。さまざまな国でより良いサポートがあります。ライブラリは(Javaではなく)C ++で記述されていますが、JNIを使用して簡単に接続できるはずです。