参数在使用AForge.Video.FFMPEG时无效

本文关键字:FFMPEG 无效 Video AForge 参数 | 更新日期: 2023-09-27 18:12:25

我正在研究一个检测视频文件中运动的应用程序。我想这样做:

  1. 从硬盘读取视频。
  2. 转换为帧或图像数组(例如位图数组)。
  3. 对帧进行一些处理,包括通过减去图像来检测运动。
  4. 将处理后的图像保存为视频文件。
  5. 在表单上播放视频文件。

我谷歌找到一个好方法转换成图像数组的视频。但搜索后,我认为使用FFMPEG读取和转换视频。因为我使用c#,所以我尝试使用AForge。

该类信息链接http://www.aforgenet.com/framework/docs/html/47582d8a-2eeb-03cf-03d5-de3e745a8a34.htm?

当我尝试使用VideoFileSource类读取视频并在pictureBox中显示时,我的问题出现了。但是当我试图运行程序的参数是无效的出现在

Application.Run(new Form1());

my code::

public partial class Form1 : Form    
{
  System.Windows.Forms.Timer timer;
  string fileName;
  VideoFileSource videoSource;
  Thread myThread;
  public Form1()
  {
     InitializeComponent();
  }
    private void Form1_Load(object sender, EventArgs e)
  {
     OpenFileDialog openFiel = new OpenFileDialog();
     if (openFiel.ShowDialog() == DialogResult.OK)
     {
        fileName = openFiel.FileName;
     }
     // create video source
     videoSource = new VideoFileSource(fileName);
     // set NewFrame event handler
     videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);
     // start the video source
     videoSource.Start();
  }

  // New frame event handler, which is invoked on each new available video frame
  private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
  {
     // get new frame
     Bitmap bitmap = eventArgs.Frame;
     pictureBox1.Image = bitmap;
     // process the frame
  }     
  private void button1_Click(object sender, EventArgs e)
  {
  }

}

参数在使用AForge.Video.FFMPEG时无效

遇到同样的问题。我发现使用

(Bitmap)eventArgs.Frame.Clone() 

解决问题:)