我正致力于检测视频文件中的动作的应用程序。我希望通过以下方式做到这一点:
我谷歌找到将视频转换为图像数组的好方法。但经过搜索,我认为使用FFMPEG来读取和转换视频。 因为我使用C#我尝试使用AForge。
有关该课程http://www.aforgenet.com/framework/docs/html/47582d8a-2eeb-03cf-03d5-de3e745a8a34.htm的信息的链接?
当我尝试使用VideoFileSource类来重新添加视频并将其显示在pictureBox中时,我的问题出现了。但是当我尝试运行程序时,
中的参数无效Application.Run(new Form1());
我的代码::
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)
{
}
}
答案 0 :(得分:2)
遇到同样的问题。我发现使用
(Bitmap)eventArgs.Frame.Clone()
解决问题:)