浅入浅出EmguCv(三)EmguCv打开指定视频
2024-10-18 23:32:11
打开视频的思路跟打开图片的思路是一样的,只不过视频是由一帧帧图片组成,因此,打开视频的处理程序有一个连续的获取图片并逐帧显示的处理过程。GUI同《浅入浅出EmguCv(二)EmguCv打开指定图片》一样,只不过处理程序编程如下所示:
/// <summary>
/// 点击按钮打开指定图片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OpenImage_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
capture = new Capture(openFileDialog.FileName);
fps = (int)capture.GetCaptureProperty(CapProp.Fps);
Application.Idle += new EventHandler(ProcessFrame);
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
} }
}
private void ProcessFrame(object sender, EventArgs e)
{ Mat frame = capture.QueryFrame();
if (frame != null)
{
//为使播放顺畅,添加以下延时
System.Threading.Thread.Sleep((int)(1000.0 /fps-));
picWindow.Image = frame; }
GC.Collect();
}
编译运行,打开视频如图所示:
最新文章
- 控制 Android 程序使用的内存
- YARN中自己总结的几个关键点
- Salesforce select字段的多少对性能影响巨大
- ruby -- 基础学习(六)时间计算
- [moka同学摘录]iptables防火墙规则的添加、删除、修改、保存
- 开启nginx缓存
- php练习5——简单的学生管理系统(隐藏控件的使用)
- python 下的数据结构与算法---3:python内建数据结构的方法及其时间复杂度
- int 价值型追记-time
- 一张图告诉你移动Web前端所有技术(工程化、预编译、自动化)
- hdu3507 Print Article(斜率DP优化)
- 同步IO和异步IO
- mvc/mvvm小小的总结
- java1环境与简介
- SpringMVC(六):@RequestMapping下使用@RequestHeader绑定请求报头的属性值、@CookieValue绑定请求中的Cookie值
- 完美解决distinct中使用多个字段的方法
- java多线程快速入门(二十一)
- spring security入门demo
- Http请求中 content-type 和 dataType 区别
- J-Link GDB Server Command