【发布时间】:2015-07-06 18:08:01
【问题描述】:
我很难为我认为非常简单的事情找到解决方案。 Emgu.CV 中的捕获构造函数(字符串)应该“从文件或视频流创建捕获”。
但是,尽管我的 IP 摄像头(轴)允许以下视频流,但我无法使用 C# 中的代码捕获任何内容: 请求 Motion JPEG 视频流 -> http://myserver/axis-cgi/mjpg/video.cgi (顺便说一句,根据制造商的说法,“一个成功的请求会返回一个连续的JPEG图像流。内容类型是multipart/x-mixed-replace,每个图像都以一个边界字符串结尾。”)
仅供参考,相机服务器确实需要用户名和密码登录,我还无法弄清楚如何将其包含在 Capture 中,要么...... 我应该先创建一个 HTTPWebRequest,然后再进行 Capture,还是应该做一些更复杂的事情?不确定登录是否可能是一个问题,因为我没有得到具体的错误,但怀疑可能需要一个 webrequest,我不知道如何包含......
在我的 form.cs 中精简代码:
Capture _capture = null; //Camera
string sourceURL = "http://192.168.0.90/axis-cgi/mjpg/video.cgi";
_capture = new Capture(sourceURL);
Image<Bgr, Byte> imgOriginal = new Image<Bgr, byte>(_capture.RetrieveBgrFrame().ToBitmap());
然后我尝试在 ImageBox 中显示 imgOriginal。但是,在上面的最后一步中,它已经生成了一个错误,显示“无法创建捕获...”或类似的内容。
这对于 emguCV 不应该很简单还是我弄错了?如果有人可以帮助我弄清楚如何捕获图像,我可以从那里处理我的图像。提前谢谢!
【问题讨论】:
标签: c# video stream emgucv capture