gpt4 book ai didi

c++ - OpenCV : Open Mobotix Camera Feed

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:47:45 27 4
gpt4 key购买 nike

我有一个 Mobotix 相机。这是一个网络摄像机。在 API 中,他们为我们提供了通过以下方式获取提要的可能性

http:// [user]:[password]@[ip_adress]:[port]/cgi-bin/faststream.jpg?[options]


我试过的是像普通网络摄像头一样打开它:

cv::VideoCapture capture("http://...");
cv::Mat frame;

if (capture.isOpened())
// always false anyway.
while(1)
{
capture.read(frame);
cv::imshow("Hi there", frame);
cv::waitkey(10);
}

仅供引用:Developer Mobotix API Docs


编辑:现在感谢berak我只需要在选项中添加 &data=v.mjpg 即可:

?stream=full&fps=5.0&noaudio&data=v.mjpg

请注意,在 v.mjpg 中,只有 [dot]mjpg 是重要的,您也可以输入 myfile.mjpg。

现在的问题是提要更新的速度。我有 2 秒的延迟,而且进给速度非常非常慢。当我更改 MxJPG 或 mxg 的流选项时,我得到一个损坏的图像,其中字节没有正确排序。

编辑:我尝试直接使用 mobotix 控制中心更改相机参数,但只有分辨率影响了我的 OpenCV 程序,而没有真正改变我访问图像的速度。

最佳答案

对于最大速度使用 fps=0 它在 api 文档中

有点像

http://cameraip/cgi-bin/faststream.jpg?stream=full&fps=0

参见 http://developer.mobotix.com/paks/help_cgi-image.html

faststream 是 mjpeg 流(用于图像捕获),确保 mxpeg 已关闭并选择能提供足够分辨率的最小图像。即使用 640 x 480(设置相机 webgui)让它工作,然后增加图像大小。

请注意,这是用于图像捕获而不是视频,您需要检测每个 jpeg 的开头和结尾,然后从接收缓冲区复制到内存中。

vlc 可以处理 mxpeg,但需要从命令行开始使用 vlc --ffmpeg-format=mxg 或在 gui 中设置编辑选项 ffmpeg-format=mxg见https://wiki.videolan.org/MxPEG

关于c++ - OpenCV : Open Mobotix Camera Feed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25142130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com