Содержание
OpenALPR библиотека с открытым исходным кодом для автоматического распознавания номерных знаков, написанная на C ++ с привязками на C #, Java, Node.js, Go и Python. Библиотека анализирует изображения и видеопотоки для идентификации номерных знаков. Выводом является текстовое представление любых символов номерного знака, распознанных на обработанном изображении. Тем не менее, в данной статье мы заинтересованы только в инструменте CLI, который облегчит взаимодействие с библиотекой, не зная, какой язык программирования необходимо использовать для работы с этим инструментом. OpenALPR включает утилиту командной строки, просто набираяalpr [image file path]
«достаточно, чтобы начать распознавать изображения номерного знака!
В этой статье мы расскажем вам, как легко распознать номерной знак автомобиля с помощью этого инструмента CLI в среде Windows.
1. Загрузите последнюю версию Open ALPR
В качестве первого шага вам понадобится исполняемый файл (двоичные файлы) Open ALPR для Windows. К счастью, вам не нужно строить их, как вы можете легко скачать их со страницы релизов проекта в Github здесь. После загрузки zip-файла в соответствии с вашей архитектурой (x86 или x64) разархивируйте его содержимое, например, в некоторый каталог, так как мы добавим путь к исполняемому файлу в качестве переменной среды в Windows, чтобы мы могли просто ввести alpr
вместо полного пути к исполняемому файлу мы разархивируем его в C:\Program Files\openalpr_64
каталог.
Внутри папки вы найдете alpr.exe
файл, это утилита CLI, которую мы будем использовать в этом руководстве, так что теперь вы можете определить каталог, в котором находится исполняемый файл в ПУТИ Windows (см. эту статью, чтобы узнать, как редактировать и устанавливать переменные среды) или выполните команды с абсолютным путем, например:
"C:\\Program Files\\openalpr_64\\alpr.exe" "C:\\Program Files\\openalpr_64\\demo.jpg"
Но если вы зарегистрируете каталог внутри пути, команду будет проще написать:
alpr "C:\\Program Files\\openalpr_64\\demo.jpg"
Получив двоичный файл, перейдите к следующему шагу, чтобы узнать, как его использовать. Для получения дополнительной информации о ALPR, пожалуйста, посетите официальный репозиторий на Github здесь.
2. Использование из CLI
Теперь, когда у вас есть бинарный файл, вы можете либо перейти в каталог, где расположен исполняемый файл, в нашем случае это:
cd C:\Program Files\openalpr_64
Затем просто запустите команду alpr
предоставив в качестве первого аргумента абсолютный / относительный путь к изображению, которое вы хотите отсканировать:
alpr ./demo.jpg
И все, alpr начнет обработку заданного изображения и напечатает результаты в консоли:
Укажите регион пластины
Как вы знаете, по всему миру существуют разные типы табличек с разной длиной и распределением, что означает, что в некоторых случаях alpr потребуется некоторая помощь для правильной идентификации. Вот почему вы можете указать код региона, который alpr будет использовать для правильной идентификации идентификации таблички, например, если вы попытаетесь идентифицировать другую табличку стиля региона (европейская табличка с распространением США по умолчанию), вы найдете «Номера не найдены». сообщение в CLI, чтобы предотвратить это, зная область пластины, укажите код с -c
или же --country
флаг со значением (которое us
по умолчанию):
REM An european vehicle
alpr image.jpg --c eu
REM An american vehicle
alpr image.jpg --c us
Смотрите следующий пример:
Заметка
Хотя нет кода для каждой страны в мире, вам нужно будет указать код. Обычно он должен работать практически на любой пластине с кодом us и eu, однако другие допустимые значения: us, eu, au, auwide, gb, kr, mx, sg. Например, в изображении статьи мы используем колумбийское транспортное средство, однако используемый нами код работал, чтобы распознать его, следуя аналогичной схеме.
Генерация вывода в формате JSON
Если вы хотите проанализировать сгенерированный вывод из приложения от вашего авторитета, например, приложения, написанного на каком-то языке программирования, таком как PHP, Node.js, Python и т. Д., Вы можете извлечь информацию в универсальном читаемом формате, таком как JSON, просто добавьте --json
пометить команду:
alpr image.jpg --json
И инструмент CLI с выводом вместо исходного текста, структурированный объект JSON со следующей структурой:
{
"version": 2,
"data_type": "alpr_results",
"epoch_time": 1546207403000,
"img_width": 768,
"img_height": 1024,
"processing_time_ms": 33.806999,
"regions_of_interest": [],
"results": [
{
"plate": "KKV939",
"confidence": 89.048828,
"matches_template": 0,
"plate_index": 0,
"region": "",
"region_confidence": 0,
"processing_time_ms": 10.102,
"requested_topn": 10,
"coordinates": [
{
"x": 305,
"y": 535
},
{
"x": 481,
"y": 533
},
{
"x": 484,
"y": 613
},
{
"x": 308,
"y": 616
}
],
"candidates": [
{
"plate": "KKV939",
"confidence": 89.048828,
"matches_template": 0
},
{
"plate": "KKV9S9",
"confidence": 80.908226,
"matches_template": 0
},
{
"plate": "KKV99",
"confidence": 78.569084,
"matches_template": 0
},
{
"plate": "KXV939",
"confidence": 75.373528,
"matches_template": 0
},
{
"plate": "KV939",
"confidence": 74.683296,
"matches_template": 0
},
{
"plate": "KXV9S9",
"confidence": 67.232918,
"matches_template": 0
},
{
"plate": "KV9S9",
"confidence": 66.542694,
"matches_template": 0
},
{
"plate": "KXV99",
"confidence": 64.893784,
"matches_template": 0
},
{
"plate": "KV99",
"confidence": 64.203545,
"matches_template": 0
}
]
}
]
}
Улучшения библиотеки OpenALPR всегда приветствуются. Поэтому, пожалуйста, просмотрите OpenALPR дизайн описание и начать. Вклады кода не единственный способ помочь. У вас есть большая библиотека изображений номерных знаков? Если это так, пожалуйста, загрузите свои данные на анонимный FTP, расположенный на upload.openalpr.com. У вас есть время, чтобы «пометить» изображения пластин на входном изображении или помочь другими способами? Пожалуйста, сообщите всем об этом, разместив заметку на форуме.