2014-01-03 3 views
3

У меня есть EmguCv.Capture в классе «Кино». Я хочу создать функцию, которая получит номер кадра и вернуть этот кадр, как:Получить конкретные кадры с помощью EmguCv

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 
    } 
} 

мне нужно сделать это как можно быстрее. Любые идеи?

ответ

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(); 
    } 
} 
Смежные вопросы