一、Emgucv录制视频
Emgucv中的Capture类可以完成视频文件的读取,利用EmguCV播放视频的原理是:将视频看作图片,用capture获取抓取通道,通过不断的调用{frame =
capture.QueryFrame();imageBox1.Image = frame;}语句实现图像的实时显示。
录制视频时用到了VideoWriter()这个函数,它有两种构造方法,分别为VideoWriter(string fileName, int compressionCode, int fps, int width, int height, bool isColor)和VideoWriter(string fileName, int fps, int width, int height, bool isColor),其中:
fileName:文件的保存路径;
compressionCode:视频的编码方式;
fps:录制视频的帧率;
width:视频的宽度;
height:视频的高度;
isColor:是否是彩色;
最后调用WriteFrame()方法录制视频
首先我们要做的第一步就是打开电脑自带的摄像头,其代码为:
1 private Capture capture; 2 private void btnStart_Click(object sender, EventArgs e) 3 { 4 capture = new Capture(); 5 Application.Idle += new EventHandler(processfram); 6 } 7 private void processfram(object sender, EventArgs arg) 8 { 9 frame = capture.QueryFrame(); 10 imageBox1.Image = frame; 11 }