我正在尝试将视频帧保存到文件夹但它无效。我正在为这个项目使用emgu cv图像处理库。
public void ProcessFrame(object sender, EventArgs arg)
{
Mat mat = new Mat();
capture.Retrieve(mat);
FrameRate = capture.GetCaptureProperty(Emgu.CV.CvEnum.CapProp.Fps);
Thread.Sleep((int)(1000.0 / FrameRate));
imageBox1.Image = mat;
if (mat != null)
{
mat.Save(@"C:\Desktop\images");
}
else
{
MessageBox.Show("null image");
}
//GetVideoFrames1();
}
答案 0 :(得分:0)
如果您使用的是EmguCV,我强烈建议您使用Emgu自己的VideoWriter(http://www.emgu.com/wiki/files/1.3.0.0/html/3fb90645-ecc4-0c4e-b238-6d0ca38f4ebc.htm),这样您就可以创建视频文件并在收到新Mat时连续写入,即
VideoWriter writer = new VideoWriter(filePath + @"\" + fileName + ".avi", yourCodec, fps, size, true);
for(;;)
{
Mat image = getNextFrame();
writer.Write(frame);
}