Я пытаюсь взять изображения с IP-камеры (sony snc p1) для обнаружения движения с помощью opencv java. Поток находится в формате mjpeg, и я использую VideoCapture из opencv, чтобы попытаться получить изображение. Я могу захватить изображение из видеофайла с помощью видеозахвата, но когда я пытаюсь открыть камеру, это не сработает. Я могу просмотреть поток на vlc, но этот ip-адрес не работает на opencv. Это код, который я использую:Sony Ip camera opencv Java
while (true){
VideoCapture camera1=newVideoCapture("http://192.168.0.101/mjpeg");
if (!camera1.isOpened())
System.out.println("Cannot open file");
}
Вы должны создать экземпляр нового экземпляра VideoCapture в цикле while снова и снова: сделать это один раз перед циклом while. Какую ОС вы используете? Хорошо, что вы тестировали VLC. С какой поддержкой видео вы работаете с OpenCV? Сначала попробуйте открыть IP-камеру. Например, если у вас есть OpenCV, встроенный с поддержкой FFMPEG, сначала откройте камеру непосредственно из FFMPEG (аналогично для GStreamer, V4L и т. Д.). Если там не работает, это не связано с OpenCV. Если это так, двойная проверка OpenCV была построена с той же поддержкой видео. HTH –
В худшем случае сценарий, с прагматичной перспективы, видит, есть ли еще одна библиотека Java IP-камеры, и если это так, вероятно, позволит вам получить доступ к потоку в качестве «BufferedImage», который может подключаться к 'Mat' –