【发布时间】:2018-11-03 04:00:48
【问题描述】:
我正在尝试在列表视图或图像列表中一一生成所选视频的所有帧,是否可以不先将帧保存为图像?
这是我的示例代码。
string name = @"E:\Videos\Anime\eyeshield\Eyeshield 21 Episode 1.flv";
VideoCapture _capture;
_capture = new VideoCapture(name);
List<Image<Bgr, Byte>> image_array = new List<Image<Bgr, Byte>>();
double totalFrames =_capture.GetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameCount);
double fps = _capture.GetCaptureProperty(Emgu.CV.CvEnum.CapProp.Fps);
double frameNumber = 0.0;
bool Reading = true;
while (Reading)
{
_capture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.PosFrames, frameNumber);
Image<Bgr, Byte> frame = _capture.QueryFrame().ToImage<Bgr, Byte>();
if (frame != null)
{
//Display the image_array frame in listView1 or imageList1 one by one
}
else
{
Reading = false;
}
frameNumber++;
}
Here 可能与我的目标输出类似,但语法 QueryFrame().Copy 不起作用。
【问题讨论】: