gpt4 book ai didi

c# - 无法通过C#使用EmguCV打开mpg文件进行捕获

转载 作者:行者123 更新时间:2023-12-02 16:47:34 26 4
gpt4 key购买 nike

我正在尝试使用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);
}
}
}
}

如果已连接网络摄像头,则一切正常,但是当我拔下网络摄像头时, instance = new Capture(sFileName);行将引发NullReferenceException:

Message = "Unable to create capture from C:\tmp\MarkerMovie.mpg"



我调试并发现原因是在捕获的构造函数中。以下命令始终返回一个空指针:
_ptr = CvInvoke.cvCreateFileCapture(fileName);

我可以使用以下代码使用C++打开同一视频:
cap = cvCaptureFromFile("C:\\tmp\\MarkerMovie.mpg");

我是openCV的新手,所以我不确定您需要哪些信息来帮助我。我昨天在Windows XP计算机上从 http://sourceforge.net/projects/emgucv/安装了emguCV。安装程序版本为x86_2.3.0.1416。我将opencv_core231.dll,opencv_highgui231.dll和opencv_imgproc231.dll包含到我的项目中。

有人知道我如何使此代码有效吗?
如果您需要更多信息,请与我们联系。

谢谢。

最佳答案

我遇到了同样的问题,将opencv_ffmpeg.dll添加到项目中似乎可以解决该问题。 (在Emgu CV目录的bin目录中找到)我已经在您发布的项目上尝试过它,它似乎也可以工作。希望能帮助到你。

关于c# - 无法通过C#使用EmguCV打开mpg文件进行捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9556761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com