2012-08-28 102 views
0

我想制作一个使用Emgu CV检测对象的视频播放器。我想从一个视频源文件开始阅读,那是我遇到错误的地方。在线路:使用Emgu CV的视频播放器

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

有一个例外:

类型 'System.NullReferenceException' 的未处理的异常发生在Emgu.CV.dll
其他信息:无法从C:/Users/Paul/Desktop/Film/parrot.avi

创建捕获

我已经尝试了许多组合和不同的来源类型,如AVI,WMV,MPEG,但仍然得到了例外。我能做些什么来使它工作?

回答

0

尝试

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

我遇到了类似的问题。如果这个问题仍然是开放的,然后尝试添加:

opencv_ffmpegXXX.dll 

(XXX为你emgucv版本)到乌尔项目的EXE文件夹(调试/发布)。 opencv使用FFmpeg处理视频。

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

0

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

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

0

我有这个问题有些日子,我无法在桌面上阅读也没有写视频。初始化没有错误,但CaptureWidth and Height = 0返回null帧。

它开始通过改变路径简单工作:

".\parrot.avi" 

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