opencv java ip-камера (2 вопроса)

#java #opencv #ip-camera

#java #opencv #ip-камера

Вопрос:

я впервые работаю с ip-камерой (D-LINK DCS-5605), моя конечная задача — обнаруживать объекты и СЛЕДОВАТЬ за НИМИ (управлять IP-камерой)…

Я уже написал Java-код, который обнаруживает объекты способом, который я хочу использовать в OpenCV…

Теперь мне нужно работать с ip-камерой из java, используя opencv.

Вопрос 1) Как определить ip-камеру через OpenCV?

Вопрос 2) Как управлять ею через java?

Мне будет полезно все, что угодно, ваша помощь будет оценена по достоинству 🙂 С уважением.

Ответ №1:

Дорогие друзья, поскольку я не вижу здесь ответов, вот то, что я нашел в ходе своего исследования…

Есть способ сделать это, если вы используете C, для этого есть специальный метод, но, к сожалению, в интерфейсе Java он недоступен…

Итак, я думаю, что если я действительно решу достичь этого с помощью java, то мне нужно будет изменить OpenCV.java и экспортируйте новую измененную jar…

надеюсь, это будет кому-то полезно…

Ответ №2:

Я предполагаю, что вы больше не отслеживаете этот вопрос, но на случай, если вы или кто-либо другой наткнется на него, вы можете использовать JNI (собственный интерфейс Java) для соединения OpenCV (версии C / C ) и Java вместе. Это позволит вам либо подключиться к вашей камере через Java и передать изображения обратно в OpenCV, либо подключиться через OpenCV и передать их на Java, в зависимости от ваших предпочтений.

Я все еще работаю над поиском наилучшего способа подключения к IP-камере через Java, но библиотека Xuggler работает довольно хорошо и имеет небольшую кривую обучения. Но для подключения через OpenCV вы можете просто ввести адрес источника камеры в метод CreateFileCapture, примерно так:

  CvCapture *camera = cvCreateFileCapture("rtsp://username:password@your.IP.address.here:554/ch1-s1");
  

Который работает для меня. Фактическая строка, которую вы передаете, будет зависеть от камеры.

Что касается управления камерой через Java, предполагая, что вы говорите о PTZ-камере, то отправка команд через http должна работать.