2

我在让 OpenCV 2.4 从 Raspberry Pi 的 MJPEG 流中捕获时遇到问题,我已经在浏览器中检查了流 URL,它似乎工作正常,但是当我尝试在 OpenCV 中打开它时,它似乎挂起我尝试打开它(我在终端上没有收到错误或成功消息)。

cv::VideoCapture vcap;
cv::Mat raw_image;

const string videoStreamAddress = "http://192.168.0.28:8080/?action=stream";

if(!vcap.open(videoStreamAddress))
{
    cout<<"Error opening video stream"<<endl;
    return -1;
}

cout<<"Stream opened"<<endl;

我正在使用MJPEG-Streamer来提供流。从 RTSP 视频流中捕获时,相同的代码工作正常。

编辑:我尝试更改在 Pi 上捕获的图像的 JPEG 质量和分辨率,raspistill现在我收到消息说流无法打开。

4

2 回答 2

2

尝试添加一个虚拟参数,提示 mjpeg 内容:

const string videoStreamAddress = "http://192.168.0.28:8080/?action=stream&amp;type=mjpg";
于 2013-08-06T10:57:30.960 回答
2

我找到了答案,它类似于 Hitesh 的建议,我只需要有一个.beforemjpg就可以让 OpenCV 认为它是文件的 URI。

我在这个类似问题的答案中发现了这一点。

于 2013-08-06T13:11:10.653 回答