本文是这篇文章EmguCV_Capture的更新.
项目文件已更新至0.3版本,添加了一些功能,修正了部分bug,项目GitHub传送门在这里
新版本(version0.3)预览
已添加从Webcam录制视频的功能,在Camera标签页中选中RecordVideo复选框然后单击Start按钮开始
在进行其他处理的同时也在将当前帧写入视频文件,点击Stop停止或者关闭标签页会自动保存视频
打开视频后的播放界面,添加了进度条
从进度条可以判断视频大致进度,从状态条中“Frame:221/456”可以判断详细信息(当前帧/总帧数)
录制视频的核心代码
//....
string strFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".avi";
if (fps <= 0 || fps >= 30) fps = 20;
//全帧非压缩,录制的视频体积巨大
//videoWriter = new VideoWriter(strFileName, fps, frameWidth, frameHeight, true);
//MPEG-4编码,测试发现可以将近200MB的视频压缩至约几MB
videoWriter = new VideoWriter(strFileName, CvInvoke.CV_FOURCC('D', 'I', 'V', 'X'),
fps, frameWidth, frameHeight, true);
//...
currentFrame = capture.RetrieveBgrFrame();
//...
videoWriter.WriteFrame<Bgr, Byte>(currentFrame);
//...
点此领取楼主