参数在使用AForge.Video.FFMPEG时无效
本文关键字:FFMPEG 无效 Video AForge 参数 | 更新日期: 2023-09-27 18:12:25
我正在研究一个检测视频文件中运动的应用程序。我想这样做:
- 从硬盘读取视频。
- 转换为帧或图像数组(例如位图数组)。
- 对帧进行一些处理,包括通过减去图像来检测运动。
- 将处理后的图像保存为视频文件。
- 在表单上播放视频文件。
我谷歌找到一个好方法转换成图像数组的视频。但搜索后,我认为使用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)
{
}
}
遇到同样的问题。我发现使用
(Bitmap)eventArgs.Frame.Clone()
解决问题:)