zoukankan      html  css  js  c++  java
  • 浅入浅出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                 try
    12                 {
    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

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

  • 相关阅读:
    commando VM安装
    Pocscan搭建详解
    Windows-RW-LinuxFS
    Festival
    ffmpeg-metadata
    FFmpeg-Screen-Recording
    ffmpeg-map
    ffmpeg-utils
    Linux-Fcitx5
    ffmpeg-volumedetect
  • 原文地址:https://www.cnblogs.com/snipergodson/p/5872940.html
Copyright © 2011-2022 走看看