VideoCapture返回错误捕获

时间:2018-06-13 09:05:23

标签: c++ opencv

我使用带有c ++的opencv库,当我从两个流中读取帧时,一段时间(当存在噪声时)cv::VideoCapture返回camera1帧而不是camera2,感谢任何想法。

class camera {
 public:
 cv::VideoCapture cap;

 bool open(const cv::String &filename)
 {
   cap.open(filename, cv::CAP_FFMPEG);
 }
 void read(cv::UMat &frame)
 {
   Mat fr;
   cap >> fr;
   if(!fr.empty())
   {
     frame = fr;
   }
 }
}

和程序的主要方法:

int main()
{
 namedWindow("camera1");
 namedWindow("camera2");

 camera camera1;
 camera camera2;

 camera1.open("rtsp://192.168.1.2/test");
 camera2.open("rtsp://192.168.1.2/test2");

 while(true)
 {
  Mat frame1;
  Mat frame2;

  camera1.read(frame1);
  camera2.read(frame2);

  imshow("camera1", frame1);
  imshow("camera2", frame2);
  waitkey(30);
 }

 return 0;
}

0 个答案:

没有答案