首页 > 代码库 > 浅入浅出EmguCv(三)EmguCv打开指定视频

浅入浅出EmguCv(三)EmguCv打开指定视频

打开视频的思路跟打开图片的思路是一样的,只不过视频是由一帧帧图片组成,因此,打开视频的处理程序有一个连续的获取图片并逐帧显示的处理过程。GUI同《浅入浅出EmguCv(二)EmguCv打开指定图片》一样,只不过处理程序编程如下所示:

技术分享
 1 /// <summary> 2         /// 点击按钮打开指定图片 3         /// </summary> 4         /// <param name="sender"></param> 5         /// <param name="e"></param> 6         private void OpenImage_Click(object sender, EventArgs e) 7         { 8             OpenFileDialog openFileDialog = new OpenFileDialog(); 9             if (openFileDialog.ShowDialog() == DialogResult.OK)10             {11                 try12                 {13                     capture = new Capture(openFileDialog.FileName);14                     fps = (int)capture.GetCaptureProperty(CapProp.Fps);15                     Application.Idle += new EventHandler(ProcessFrame);16                 }17                 catch (Exception exp)18                 {   19                     MessageBox.Show(exp.Message);20                 }21                22                 23             }24         }25         private void ProcessFrame(object sender, EventArgs e)26         {27 28             Mat frame = capture.QueryFrame();29             if (frame != null)30             {31                 //为使播放顺畅,添加以下延时32                 System.Threading.Thread.Sleep((int)(1000.0 /fps-5));33                 picWindow.Image = frame;34 35             }36             GC.Collect();37         }
View Code

编译运行,打开视频如图所示:

技术分享

浅入浅出EmguCv(三)EmguCv打开指定视频