我想制作一个使用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,但仍然有例外。我能做些什么才能让它发挥作用?
答案 0 :(得分:3)
我遇到了类似的问题。如果此问题仍然存在,请尝试添加:
opencv_ffmpegXXX.dll
(XXX是你的emgucv版本)到你项目的exe文件夹(Debug / Release)。 opencv
使用FFmpeg来处理视频。
P.S。:opencv_ffmpegXXX.dll
位于解压缩的emgucv/bin
文件夹中。
答案 1 :(得分:0)
尝试
Capture capture = new Capture(@"C:\Users\Paul\Desktop\Film\parrot.avi");
答案 2 :(得分:0)
您使用的是哪种版本的Emgu CV?如果是2.4.10那么我建议你使用3.0.0 version。当我使用最新的稳定版本(2.4.10)时遇到了同样的问题,但它似乎在最新的alpha版本(3.0.0)中打了补丁。现在,我可以使用Emgu CV Capture类轻松捕获USB摄像头,视频文件或RTSP流(IP Camera)。
可能你现在已经解决了这个问题,但我希望这些信息对其他人也有用。
答案 3 :(得分:0)
我有几天这个问题,我无法在桌面上阅读或写视频。初始化时没有错误,但Capture
Width and Height = 0
返回null
帧。
只需将路径更改为:
即可开始工作".\parrot.avi"
使用Emgu 3.1.0.2282b
在Win8.1上发生了这种情况