Подтвердить что ты не робот

Локализация JavaAnpr для локальных номеров

Я работаю с JavaAnpr, чтобы автоматически распознавать номерные знаки. Хотя он хорошо работает с европейскими номерными знаками, он не связан с моей страной. Например:

License plate from my country

Как я могу редактировать файлы регресса и синтаксис XML для поддержки других стран?

4b9b3361

Ответ 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 цифр для вашего конкретного стиля тарелки. Я не понимаю, как точечные факторы в распознавании вашей пластины, однако, в документации автора:

Коррекция пластины означает замену каждый недопустимый символ другим. Если персонаж () я п в я го положение пластины п не соответствует выбранному шаблону () ` сель п, это будет заменить на первую действительную () s Y, () s Y представляет собой отсортированный вектор выходных операций, обозначающий насколько распознанный персонаж похож на индивидуальный символ из алфавита. Эвристический анализ сегментированной пластинки может sometim es неправильно оценивают несимвольные элементы как символы. Принятие нехары Элементы cter приводят к тому, что признанные пластина будет содержать избыточные символы. избыточный символы встречаются обычно по бокам но редко посередине. Если номер признанной пластины больше, чем l ongest синтаксический шаблон, мы можем выбрать ближайший шаблон и сбросить избыточные символы в соответствии с этим.

Ответ 2

Откройте OpenALPR (http://www.openalpr.com). Он имеет лучшую поддержку в разных странах. Библиотека написана на С++ (в отличие от Java), но это должно быть легко подключиться с помощью JNI.