无法在Emgucv中从文件创建捕获

时间:2015-03-06 04:14:56

标签: opencv emgucv opencvdotnet

if (_capture == null)
        {
            try
            {
                _capture = new Capture("video1.mpg");
            }
            catch (NullReferenceException ex)
            {   //show errors if there is any
                MessageBox.Show(ex.Message);
            }
        }

video1.mpg文件位于bin文件夹中。 我已经使用任意视频转换器将avi文件转换为MPEG-1格式。 但是这种格式仍然不起作用。我也试过 mencoder 。但仍然是同样的错误。

Unable to create capture from video1.mpg

如何使其与emgu Capture兼容?

2 个答案:

答案 0 :(得分:3)

将视频转换为i420格式。

Download this converter.

执行转换的命令:

mencoder inputVideo.avi -ovc raw -vf format=i420 -o convertedVideo.avi

现在可以捕获此转换Video.avi。

答案 1 :(得分:1)

首先,您需要转换.avi格式的Vedio文件。并使用其他工具转换所需的vedio文件。您现在使用的工具可能是演示版本,这就是它可能无法正确转换它的原因..然后尝试以下代码:

   string nameOfFile = @"D:\somefile.avi";// your vedio path
Capture _capture = new Capture(name);
      try
        {
            _capture = new Capture(nameOfFile);
        }
        catch (NullReferenceException ex)
        {   //show errors if there is any
            MessageBox.Show(ex.Message);
        }