【发布时间】:2012-01-29 23:45:19
【问题描述】:
有人在 MATLAB 中从 IP 摄像机捕获视频流吗?例如,在 MATLAB 中从 rtsp://10.10.10.10:554/live.sdp(rtsp 流)或 http://x.x.x.x/axis-cgi/mjpg/video.cgi(mjpeg 流)抓取帧。 MATLAB 的图像采集工具箱目前不支持此功能。我找到了 2 个选项: 1) 使用mmread。但是 64 位 MATLAB 或不支持 http 流读取 2) 编写我自己的抓取帧的 C++ 函数(我使用 OpenCV 库),然后将其编译成 MATLAB MEX 函数。 任何建议表示赞赏。
【问题讨论】:
-
仅供参考,这是来自 MATLAB 支持的答案。“不幸的是,您是正确的,目前 Image Acquisition Toolbox 不支持 IP 摄像机。关于解决方法: 1. 如果 mmread 适合您,也许它是您可以在 64 位机器上安装 32 位 MATLAB。2. 编写自己的 MEX 驱动程序应该是一个可能的选择。3. IMREAD 能够从 IP 摄像机获取帧。也许可以利用此功能并构建一个构造视频流的函数。虽然帧速率可能是个问题。"
-
帧率是 MATLAB 中 IMREAD 函数的问题 - 它只抓取单个图像,而不是流。我正在将我的 OpenCV C++ 代码编译为 Matlab mex 函数。以下是 OpenCV 库的 matlab mex 函数的收集和开发工具包的链接(感谢 Kota Yamaguchi):github.com/kyamagu/mexopencv.
-
感谢 mexopencv 链接。我使用 videoio 库已有 2 年了,对此我感到非常满意。这很棒,但编译很麻烦。 mexopencv 的安装很简单。这些示例很棒,并且 mex 库以一种很棒的方式完成。我想我现在会切换到 mexopencv 和 opencv。
-
我建议您发布您创建的解决方案作为答案,否则此问题将保持开放状态。
-
@DennisJaheruddin 完成。谢谢
标签: matlab opencv stream rtsp mjpeg