使用EmguCv播放指定视频
来源:互联网 发布:世界网络银行商城手机 编辑:程序博客网 时间:2024/05/21 00:54
用Capture来加载一个视频。
用GetCaptureProperty函数可以获取这个视频的各种属性。
然后用Application.Idle来连续的显示视频中的帧(显示出一帧了,程序进入空闲,就继续加载下一帧)
由于视频中的帧太多,.net的垃圾回收机制赶不上,就使用GC.Collect();来强制回收垃圾,可以把程序的内存占用从700MB降到100MB左右
public partial class Form1 : Form { Capture cap; int fps; public Form1() { InitializeComponent(); OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "MP4文件|*.mp4|AVI文件|*.avi|RMVB文件|*.rmvb|WMV文件|*.wmv|MKV文件|*.mkv|所有文件|*.*"; if (openFileDialog.ShowDialog() == DialogResult.OK) { Application.Idle += Application_Idle; cap = new Capture(openFileDialog.FileName); fps =(int) cap.GetCaptureProperty(CapProp.Fps); } } private void Application_Idle(object sender, EventArgs e) { Mat a = cap.QueryFrame(); if (a != null) { System.Threading.Thread.Sleep((int)(1000.0 / fps - 5)); imageBox1.Image = a; GC.Collect(); } } }
效果图:
0 0
- 使用EmguCv播放指定视频
- C#使用EmguCV实现视频读取和播放
- 示例:使用EmguCV视频截图
- C#+Emgucv视频获取
- emgucv 视频读取
- EmguCV录制视频
- iphone 视频播放使用
- 使用MPMoviePlayerViewController播放视频
- 使用MPMoviePlayerController播放视频
- 使用SurfaceView 播放视频
- 使用VideoView播放视频
- 使用MPMoviePlayerViewController播放视频--
- 使用VideoView播放视频
- 使用MediaPlayer播放视频
- 使用VideoView播放视频
- 使用MPMoviePlayerController播放视频
- 使用VideoView播放视频
- 使用opencv播放视频
- Hadoop相关日常操作
- 两次调用encodeURI来解决乱码问题
- MySQL 删除数据失败问题
- 内存映射文件
- 最长回文
- 使用EmguCv播放指定视频
- 【Material Design视觉设计语言】UI组件设计(十四):Tabs
- 语法错误,字符1,代码0 行1361错误
- zzuli OJ 1051: 平方根的和
- java IO流api使用详解
- javascript操作表单
- Android 问题:Attribute "xxx" has already been defined
- ie 10中flash动画只有声音没有画面解决办法
- 斐波那契数列第N项的值---动态规划