大尺寸视频EmguCV

时间:2014-04-09 11:41:18

标签: c# nullreferenceexception video-capture emgucv

我正在使用Emgu CV创建视频播放器。它适用于小尺寸视频(< 500Kb),但是当我尝试播放大尺寸视频(> 20Mb)时,它会显示此错误

An unhandled exception of type 'System.NullReferenceException' occurred in Emgu.CV.dll
Additional information: Unable to create capture from E:\Tugas Akhir\wiman\3a.avi

我的项目中有emgu cv引用,在我的项目中也有opencv_ffmpeg290_64.dll和其他opencv dll。 这是导致此错误的代码行,

string videodir="E:\Tugas Akhir\wiman\3a.avi";
capture = new Capture(@videodir);

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

(我意识到这有点旧,但我遇到了它追踪一个不同的问题。)

我相信如果你查看调试器,你就会遇到文件路径和字符转义序列的问题。

该行:

string videodir="E:\Tugas Akhir\wiman\3a.avi";

需要成为以下之一:

string videodir=@"E:\Tugas Akhir\wiman\3a.avi";

string videodir="E:\\Tugas Akhir\\wiman\\3a.avi";

在没有告诉编译器字面意思地使用斜杠或使用\的转义序列的情况下,你传递给Capture的是videodir = "E:Tugas Akhirwiman3a.avi",它可能不存在(尽管它是如果文件不存在,Capture将抛出一个空异常。

祝你好运!

答案 1 :(得分:-1)

我有同样的问题,最后我。使用C#中的EmguCV,你需要输入opencv_ffmpeg.dll,例如:opencv_ffmpeg2410.dll,如果你有x86或64位,要小心