Так случилось, что меня попросили интегрировать распознавание автомобильных номеров камерой HIKVISION iDS-TCM203-A в другую программу. В двух словах - потребовалась библиотечка C#/.NET для удобства работы с устройством. Что из этого получилось - попробую изложить без эмоций, опираясь на факты. Если я в чем то не прав - подскажите в комментариях.
Камера пришла ко мне без какой-либо сопроводительной документации, что меня не испугало -ведь есть Интернет. Вот тут то и крылась ловушка. Нагугленная информация оказалась очень противоречивой и не вполне соответствующей тому, что я увидел в устройстве.
После нескольких итераций понял, что надо делать:
- Установил SD карту в камеру, подал питание (24В) и подключил камеру к локальной сети для соединения с компьютером (OC Windows 10).
- Установил программу SADPTool_3.0.2.4. После запуска этой программы и нажатия кнопки Refresh был произведен поиск камеры по сети и определен IP адрес камеры (далее IPcamera).
- Запустил Internet Explorer (работа с другими браузерами возможна, но имеет особенности использования компонента ITCPWebComponents). Открыл страницу http://IPcamera. Ввел логин и пароль.
- Загрузил компонент ITCPWebComponents. Закрыл браузер и установил ITCPWebComponents. Запустил браузер и открыл страницу http://IPcamera. Авторизовался.
- Установил автомобильный номер в поле зрения камеры на расстоянии около 3 м. Открыл окно Live View->Live Traffic Statistics. Нажал кнопку Capture.
Unknown - там где ожидал номер.
Поменял Smart Mode на Licence Plate Recognation System.
Unknown - там где ожидал номер.
Запрос: Техподдержка, помогите!!!
Ответ: Ну у вас, наверно, не установлены региональные настройки номера....
Запрос: А как их установить?
Ответ: У вас должна быть менюшка - и там надо выбрать Россию, по умолчанию там Европа.
Запрос: Да, я вижу такое меню на Ютубе и мануалах на HIKVISION LPR камеры. Но у меня нет такого меню.
Ответ: Да, мы задавали этот вопрос китайцам, но они что-то молчат... Попробуйте обновить прошивку.
Запрос: Но номер прошивки(4.2.2), который я вижу в ютубовых роликах и у себя совпадает - а пункты меню не совпадают!
Ответ: Попробуйте обновить прошивку.
Запрос: Я обновил прошивку - вместо версии 4.2.2 стала 4.2.5 - но в меню ничего не изменилось - по прежнему настройки LPR не доступны. Что делать?
Ответ: ....
Запрос: Что делать?
Ответ: ....
Читаем описание того, что ещё не доступно - кроме недоступного выбора страны:
"Select License Plate Type. Small-Size Plate Recognition and Large-Size Plate Recognition are selectable. Small-Size Plate Recognition: Select it when the character height of the license plate is in the range of 20 to 30 pixels. Large-Size Plate Recognition: Select it when the character height of the
license plate is in the range of 30 to 40 pixels."
А сколько у меня? Высота символа - 100 пикселов (Capture Resolution = 1920x1080).
Двигаем камеру от номера на расстояние 7 метров.
Попал! Открыл окно Live View->Live Traffic Statistics. Нажал кнопку Capture. Есть номер в текстовом виде.
А можно ли изменением настроек разрешения Encoding and Storage->Image Encoding->Capture Resolution получить возможность для изменения(уменьшения) расстояния, на котором производится распознавание? Нельзя.
А влияют ли настройки видео Encoding and Storage->Video Encoding на распознавание? Не влияют.
А меняет ли что то настройка ROI(Region of Interest)? Не влияет.
А можно ли изменением настроек разрешения Encoding and Storage->Image Encoding->Capture Resolution получить возможность для изменения(уменьшения) расстояния, на котором производится распознавание? Нельзя.
А влияют ли настройки видео Encoding and Storage->Video Encoding на распознавание? Не влияют.
А меняет ли что то настройка ROI(Region of Interest)? Не влияет.
Вешаем камеру на дороге с пешеходами, велосипедистами и автомобилями по инструкции.
- Нет событий распознавания номеров.
- Нет событий распознавания движущихся объектов без номеров.
- Подключение через SDK сообщает о периодических изменениях списка белых/черных списков номеров - хотя изменений никто не делает.
- Подключение по ISAPI работает, но команды назначенные по писанию для LPR - возвращают Forbidden.
Возвращаемся к ручному запуску распознавания для неподвижного номера. Посмотрим - что там в TCP трафике? Видим HTTP PUT запрос "/ISAPI/ITC/manualCap". Смотрим документацию по ISAPI - описания такого запроса нет. По нему возвращается много чего (видимо изображения - пока не разбирался). Но главное - в фиксированной позиции в дампе присутствует строка номера - что и надо. Замешиваем запрос с Digest-аутентификацией сначала на postman, а потом на С#.
Итого:
Чтобы распознавать LP надо иметь неподвижный номер на расстоянии >7 метров и "ручной" захват. Посмотрим - как это будет соответствовать требованиям по размещению камеры и основной программе.
Итого:
Чтобы распознавать LP надо иметь неподвижный номер на расстоянии >7 метров и "ручной" захват. Посмотрим - как это будет соответствовать требованиям по размещению камеры и основной программе.