LINUX.ORG.RU

Детектор движения на С/С++ с IP камеры, помогите начать

 , ,


1

5

Доброго времени суток, есть необходимость создать детектор движения используя rtsp поток с IP камеры, чаще всего встречаю похожие проекты с использованием OpenCV, но так же встречал не очень хорошие отзывы о этой библиотеке, говорят кривая, косая используйте что-то другое, но что другое, никто не говорит. Так как я начинающий, хотелось бы действительно узнать, что лучше использовать для таких целей? Возможно кто-то разбирается в этом и может подсказать, а еще лучше если и пару примеров сможет дать/показать. Интересует только Linux, windowые библиотеки не интересны.

Заранее благодарю!


Ответ на: комментарий от i36_zubov

набор кадров пустой парковки не подойдет.

ибо в разное время суток и с разными метеоусловиями будут разные изображения.

Точно, я почему-то подумал о подземной парковке с постоянным освещением.

Deleted
()
Ответ на: комментарий от Deleted

на самом деле, opencv это перебор и страдание.

вдруг снег или дождь пошел, и хз что оно там выдаст.

во вторых, на парковке могут быть столбы, которые в солнечную погоду отбрасывают тени. в итоге приходим к необходимости создания вспомогательной программы, где на кадре обозначаем положение «потенциально закрываемой поверхности»(ПЗП), дальше это ПО набирает статистику по заведомо пустым ПЗП в зависимости от времени суток, погоды и т.д.(погоду можно вводить руками) и составляет базу данных. можно например разложить выбранную область на вейвлеты, синусы, линейные функции(без учета пикселей вне области) и так сохранить.

i36_zubov
()
Ответ на: комментарий от Apparatchik

на С или С++ можно например. OpenCV он какой-то негибкий вообще. а тут задача - наблюдать однотонный участок картинки, возможно местами занетенный но в целом все равно однотонный. если картинка цветная еще лучше, т.к. можно отличить асфальт и грунт от автомобиля.

i36_zubov
()
Ответ на: комментарий от i36_zubov

А как можно выяснить сильно ли изменился фон в данном четырёхугольнике (парковочные места не являются прямоугольниками в кадре)? Мысль отслеживать относительно предыдущих кадров например 3-5 секунд назад, если изменения не значительные, значит тень или мелкие предметы, если же значительные значит машина заехала/отъехала. Так может получится?

P.S. как отслеживать ответы на этом форуме? я в шапке нажал, а письма на почту не приходят.

Apparatchik
()
Ответ на: комментарий от Apparatchik

во первых, лучше все таки многоугольник. ведь камера скорее всего смотрит под углом. можно например ввести дополнительное изображение, где в painte закрасить парковочные места. пусть эта картинка будет aux. уникальный цвет в aux может обозначать как принадлежность определённому региону, так и вес пикселя. в центре парковочного места пиксели самые весомые, по краям, где может быть перекрытие с другой машиной - менее весомые.

3х секунд мало. лучше брать кадры с шагом в 10-20-30 секунд. на 3 секунды и человек может замереть.

а коменты я отслеживаю по уведомлениям.

i36_zubov
()
Ответ на: комментарий от i36_zubov

Регионы я планирую рисовать на ходу мышкой и сохранять в файл координаты (это я уже научился делать), сколько в каждом будет углов не важно, хотя в основном 4. А вот как определить сильно ли изменилась картинка в этом реигоене или чучуть до меня пока что не доходит, я новичок в обработке изображений, можно сказать полный лузер. Подскажите функции из OpenCV или хоть алгоритм, буду очень признателен.

Apparatchik
()
Ответ на: комментарий от ncuxer

onvif — это не протокол для получения видео, это SOAP протокол для общения с камерой что бы узнать, откуда у неё по RTSP забирать видео.

Да, по онвифу теоретически можно ещё кое что делать, но по факту только рулить PTZ. Видео аналитику по onvif очень плохо и мало кто отдает.

max_lapshin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.