Emgu Capture

时间:2016-03-08 06:12:10

标签: c# video emgucv capture ip-camera

我想从ip捕获视频流。我已经看到了这个但是在Emgu 3.0中的cvInvoke上不存在类型名称cvCreateFileCapture我有什么办法可以从ip捕获视频吗?

我尝试过使用它,它没有用,但是消息框显示哪些捕获不为空。 imageCamera是空的

 _capture = new Capture("http://uname:pass@10.16.33.158/axis-cgi/mjpg/video.cgi");here
 if (_capture != null) //if camera capture has been successfully created
        {
            MessageBox.Show("Capture success");
            _capture.ImageGrabbed += ProcessFrame;
            _capture.Start();
        }

 _capture.Retrieve(frame, 0);
 Image<Bgra, Byte> newFrame = new Image<Bgra, Byte>(frame.Bitmap);
 imageCamera.Image = newFrame;

我在浏览器中输入了此http://uname:pass@10.16.33.158/axis-cgi/mjpg/video.cgi,视频流就在那里。

我已经看过this但是在Emgu 3.0中cvInvoke上不存在类型名称cvCreateFileCapture我有什么方法可以从ip捕获视频?

尝试将http://uname:pass@10.16.33.158/axis-cgi/mjpg/video.cgi输入VLC - &gt;媒体 - &gt;网络流,它运作完美。但为什么我在捕获时无法看到它?

1 个答案:

答案 0 :(得分:0)

Retrieve()要求您先使用Grab()。如果您只需要一张图片,也可以尝试使用QueryFrame()。

var image = _capture.QueryFrame();