Насколько я могу судить, в документации OpenALPR упоминается настройка зон обнаружения один раз , но нигде не сказано, как на самом деле их настроить.
Я посмотрел на Github, чтобы узнать, упоминаются ли по умолчанию openalpr.conf и / или alprd.conf зоны обнаружения, но они этого не делают. Тем не менее, openalpr.conf включает detection_mask_image
, и описание делает его звучащим так, как я хочу:
Указывает полный путь к файлу изображения, который ограничивает область обнаружения.
Только области пластины, пропущенные через маску, будут проанализированы. Маска
изображение должно соответствовать разрешению вашего изображения для анализа. Маска
черное и белое. Черные области будут игнорироваться, белые области будут искать.
Пустое значение означает отсутствие маски (отсканировать все изображение)
Я создал черно-белое изображение того же размера, что и анализируемое, и указал его полный путь в openalpr.conf:
detection_mask_image = /home/richard/mask.png
Я также явно указываю файл конфигурации при запуске alpr
.
Результат
Когда я бегу:
alpr -c gb -p gb --config ./openalpr.conf test.mp4
Я ожидаю, что единственные места, где он ищет тарелки, будут в пределах белой области маски; Я включил отображение изображения, используя:
debug_show_images = 1
и ясно, что некоторые красные рамки находятся вне маски, поэтому она не используется.
Итак, мой вопрос: я что-то делаю неправильно или маскировка просто не работает?
Проверка изображения маски
Просто чтобы подтвердить маску, если я использую команду ImageMagick identify -verbose
, чтобы получить ее информацию, я получаю:
Image: mask.png
Format: PNG (Portable Network Graphics)
Mime type: image/png
Class: PseudoClass
Geometry: 800x450+0+0
Units: Undefined
Type: Bilevel
...
Colors: 2
...
Colormap:
0: ( 0, 0, 0) #000000 gray(0)
1: (255,255,255) #FFFFFF gray(255)
...
, который я обрезал, чтобы показать наиболее подходящую информацию. Подача с моей камеры составляет 800 & times; 450 пикселей, поэтому все выглядит правильно для меня.