0

我想制作一个使用 Emgu CV 检测对象的视频播放器。我想从读取视频源文件开始,这就是我遇到错误的地方。排队:

Capture capture = new Capture(@"C:/Users/Paul/Desktop/Film/parrot.avi");

有一个例外:

Emgu.CV.dll 中出现“System.NullReferenceException”类型的未处理异常
附加信息:无法从C:/Users/Paul/Desktop/Film/parrot.avi

我尝试了许多组合和不同的源类型,如 AVI、WMV、MPEG,但仍然有例外。我该怎么做才能让它发挥作用?

4

3 回答 3

3

我遇到了类似的问题。如果这个问题仍然存在,请尝试添加:

opencv_ffmpegXXX.dll 

(XXX 是您的 emgucv 版本)到您项目的 exe 文件夹(调试/发布)。FFmpegopencv用于处理视频。

PS:opencv_ffmpegXXX.dll位于提取的emgucv/bin文件夹中。

于 2013-07-11T11:50:26.993 回答
0

您使用的是什么版本的 Emgu CV?如果是 2.4.10 那么我建议你使用3.0.0 版本。我在使用最新的稳定版本(2.4.10)时遇到了同样的问题,但似乎在最新的 alpha 版本(3.0.0)中打了补丁。现在,我可以使用 Emgu CV Capture 类轻松捕获 USB 摄像头、视频文件或 RTSP 流(IP 摄像头)。

可能您现在已经解决了这个问题,但是我希望这些信息对其他人也有用。

于 2015-03-26T04:23:20.797 回答
0

我有几天遇到这个问题,我无法在桌面上读取或写入视频。初始化没有错误,但CaptureWidth and Height = 0返回null帧。

只需将路径更改为:

".\parrot.avi" 

这发生在我使用 Emgu 3.1.0.2282b 的 Win8.1 上

于 2016-10-04T10:57:00.893 回答