OpenCV: Mobotix摄像机馈送延迟



我有一个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>> frame;

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

提前感谢。

注意:我不知道这是否重要,但我正在使用相机的80端口。

我终于解决了。我使用的链接是使用访客访问获取图像。

默认情况下,客户机访问限制为每秒2帧。我在相机的"管理菜单"中的"语言和开始页"->"访客访问的刷新率"中更改了这一点,现在我可以捕获每秒25帧。

如果你不想弄乱来宾用户,你可以简单地将URL中的"cgi-bin"替换为"control"来检索不受限制的直播。

相关内容

  • 没有找到相关文章