OpenCV:Mobotix相机进纸延迟

时间:2016-06-30 11:56:53

标签: c++ opencv camera ip-camera

我有一台Mobotix c25相机。它是一台IP摄像机,我以这种方式访问​​它的流:

Mat frame;
cv::VideoCapture vcap;
if(!vcap.open("http://(IP_address)/cgi-bin/faststream.jpg?stream=full&fps=25.0&data=v.mjpg")){  
       cout<<"Camera not found"<<endl;        
}

正如您所看到的,我选择了每秒25帧。我想拯救他们每一个人。我这样做:

while (true){           
    vcap >> frame;
    frameNumber++;

    string fullPath = "Frame";
    stringstream ss;
    ss << frameNumber;
    string num = ss.str();
    fullPath.append(num);
    fullPath.append(".jpg");
}

但是,我每秒只保存两帧,因为下一行需要大约400毫秒:

  

vcap&gt;&gt;帧;

我不知道为什么会有这么大的延迟...我倾向于认为这是相机参数产生的问题,你对此有什么想法吗?

提前致谢。

注意:我不知道它是否重要,但我使用的是相机的端口80.

2 个答案:

答案 0 :(得分:0)

我终于解决了这个问题。我使用的链接是使用访客访问来抓取图像。

默认情况下,访客访问限制为2 fps。我已经在“语言和起始页” - >“访问者访问刷新率”的相机的“管理菜单”中对此进行了更改,现在我可以每秒捕获25帧。

答案 1 :(得分:0)

如果您不想惹恼来宾用户,则只需在URL中将“ cgi-bin”替换为“ control”即可检索不受限制的实时流。