ste*_*ckl 0 .net c# opencv emgucv
我正在尝试使用emguCV打开一个mpg文件.我使用以下代码:
if (instance == null)
{
lock (m_lock)
{
try
{
instance = new Capture(0); // capture from camera works fine if a camera is connected
}
catch (NullReferenceException)
{
String sFileName = @"C:\tmp\MarkerMovie.mpg";
try
{
if (File.Exists(sFileName))
{
instance = new Capture(sFileName); // here the exception is thrown
}
else
{
MessageBox.Show("No Camera and no Video-File found");
}
}
catch (NullReferenceException)
{
MessageBox.Show("Couldn't open Video: "+sFileName);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果连接网络摄像头一切正常,但当我拔下网络摄像头时,该行instance = new Capture(sFileName);
会抛出NullReferenceException:
Message ="无法从C:\ tmp\MarkerMovie.mpg创建捕获"
我调试并发现原因是在捕获的构造函数中.以下命令始终返回Null-Pointer:
_ptr = CvInvoke.cvCreateFileCapture(fileName);
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码使用C++打开相同的视频:
cap = cvCaptureFromFile("C:\\tmp\\MarkerMovie.mpg");
Run Code Online (Sandbox Code Playgroud)
我是openCV的新手,所以我不确定你需要哪些信息来帮助我.我昨天从http://sourceforge.net/projects/emgucv/在Windows XP计算机上安装了emguCV .installer-version是x86_2.3.0.1416.我将opencv_core231.dll,opencv_highgui231.dll和opencv_imgproc231.dll包含在我的项目中.
有人知道如何使这段代码有效吗?如果您需要更多信息,请与我们联系.
谢谢.