【问题标题】:OpenCV: Mobotix camera feed delayOpenCV:Mobotix 相机馈送延迟
【发布时间】:2023-04-03 14:35:02
【问题描述】:

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

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

提前致谢。

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

【问题讨论】:

    标签: c++ opencv camera ip-camera


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      如果您不想惹恼访客用户,您只需将 URL 中的“cgi-bin”替换为“control”即可检索不受限制的直播流。

      【讨论】:

        猜你喜欢
        • 2022-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-13
        相关资源
        最近更新 更多