Я читаю изображения с камеры через HTTP. Это код:
Mat src;
VideoCapture cap();
cap.open("http://192.168.1.10:8008"); // IP camera
while(1) {
cap.read(src);
// Other code
}
Это работает отлично, но после запуска на некоторое время, если я физически отключаю камеру, то код зависает навсегда в cap.read(src);
,
Мне нужен какой-то способ вернуться из read
если, скажем, через 5 секунд нет нового изображения.
Есть еще одна проблема. Если камера повторно подключена во время ожидания программы read
тогда он все равно будет повешен. Было бы хорошо, если VideoCapture
может снова захватывать кадры после повторного подключения камеры.
Если ни один кадр не был захвачен (камера была отключена или в видеофайле больше нет кадров), методы возвращают значение false, а функции возвращают указатель NULL.
попробуй это
if (cap.read (src) == false)
перерыв;
Других решений пока нет …