使用EmguCv获取特定帧

时间:2014-01-03 11:13:49

标签: c# video-capture emgucv

我在'电影'课程中有一个EmguCv.Capture。 我想创建一个获取帧号并返回此帧的函数,如:

using Emgu.CV;
using Emgu.CV.Structure;

Class Movie
{
   private Capture capture;
   public Movie(string FileName)
   {
     capture=new Capture(FileName);
     ...
   }
   public Image<Bgr, byte> GetFrame(int FrameNum)
   {
    //return the FrameNum frame
   }
}

我需要尽快做到这一点。 有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您是否尝试过使用SetCaptureProperty方法:

using Emgu.CV;
using Emgu.CV.Structure;

Class Movie
{
   private Capture capture;
   public Movie(string fileName)
   {
     capture = new Capture(fileName);
     ...
   }
   public Image<Bgr, byte> GetFrame(double frameNum)
   {
        capture.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_POS_FRAMES, frameNum);
        return capture.QueryFrame();
   }
}