请教用emgu CV怎么播放本地的视频文件并提取帧呢,用Capture类实现
请问用emgu CV如何播放本地的视频文件并提取帧呢,用Capture类实现
我在网上参考人家的写法:
这样界面会卡死,请问怎么解决去播放视频,或者有个emgu CV播放视频文件的例子呢
------解决思路----------------------
我在网上参考人家的写法:
private void button1_Click(object sender, EventArgs e)
{
Capture capture = new Capture("d:\\1.mp4");
while (true)
{
Image<Bgr, Byte> frame = capture.QueryFrame();
if (frame != null)
{
Image<Gray,byte> grayFrame = frame.Convert<Gray,byte>();
grayFrame.Resize(this.Width,this.Height,INTER.CV_INTER_CUBIC);
this.imageBox1.Image = grayFrame;
// RefreshPictureBoxDelegate fresh = this.RefreshPictureBox;
//this.BeginInvoke(fresh,grayFrame.ToBitmap());
//imageBox1.Image = frame;
}
//Thread.Sleep(500);
}
}
public delegate void RefreshPictureBoxDelegate(Bitmap frame);
private void RefreshPictureBox(Bitmap frame)
{
this.pictureBox1.Image = frame;
//this.imageBox1.Image = frame;
}
这样界面会卡死,请问怎么解决去播放视频,或者有个emgu CV播放视频文件的例子呢
------解决思路----------------------
public partial class Form1 : Form
{
Capture _capture;
public Form1()
{
InitializeComponent();
_capture = new Capture();
_capture.ImageGrabbed += _capture_ImageGrabbed;
_capture.Start();
}
void _capture_ImageGrabbed(object sender, EventArgs e)
{
var frame = _capture.RetrieveBgrFrame();
pic.Image = frame.Bitmap;
}
}