【发布时间】:2017-07-12 06:22:11
【问题描述】:
我正在尝试在特定秒内从视频中提取图像。例如,如果我使用 3 秒,则图像应在每 3 秒后从视频文件中提取一次。我正在使用 emgu-cv 来实现它,但问题是,它从视频中获取所有帧。我不明白如何设置秒。 这是我的代码:
private List<Image<Bgr, Byte>> GetVideoFrames(String Filename)
{
try
{
List<Image<Bgr, Byte>> image_array = new List<Image<Bgr, Byte>>();
_capture = new Capture(Filename);
bool Reading = true;
int frameNumber = 10;
int count = 0;
while (Reading)
{
Image<Bgr, Byte> frame = _capture.QueryFrame();
if (frame != null)
{
image_array.Add(frame.Copy());
//if(count>=frameNumber && count%frameNumber==0)
//{
image_array[count].Save(@"D:\SVN\Video Labeling\Images\"+count+".png");
//}
count++;
}
else
{
Reading = false;
}
}
return image_array;
}
catch (Exception ex)
{
throw;
}
}
【问题讨论】:
标签: c# image video-processing emgucv