我正在使用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);
我该如何解决这个问题?
答案 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位,要小心