1.0.2-学习Opencv与MFC混合编程之---为播放AVI视频添加滑动条
源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961642
版本1.0.2新增内容
Ø 全局变量和函数的添加:
在CVMFCview.cpp文件中增加全局变量和全局函数
//-----------------全局变量和函数---------------------------------------
int g_slider_position=0;
CvCapture *g_capture;
void onTrackbarSlide(int pos)
{
cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);
}
//--效果如下:
注意:上述全局函数,不能作为类得成员变量的形式添加
Ø 改写void CCVMFCView::OnPlAYAVITEST()函数
具体代码如下:
void CCVMFCView::OnPlAYAVITEST()
{
// TODO: Add your command handler code here
//郑海波 2011年12月9日
//参考:learning opencv Page21
CString csFilter="AVI Files(*.AVI)|*.AVI||";
CString strFileName;
CFileDialog FileDlg(true,NULL,NULL,OFN_HIDEREADONLY,csFilter);// 文件存盘对话框
if (FileDlg.DoModal()==IDOK )
{ // 选择了文件名
strFileName = FileDlg.m_ofn.lpstrFile;
if (FileDlg.m_ofn.nFileExtension == 0)
{ // 无文件后缀
strFileName = strFileName + ".avi";
// 加文件后缀
}
CString WindowName1="Display by CV";//创建窗口的名称
cvNamedWindow(WindowName1,CV_WINDOW_AUTOSIZE);//创建窗口
//CvCapture *capture =cvCreateFileCapture(strFileName);//由待播放的视频名,创建CvCapture指针
//----------------------------------------------------------------
g_capture =cvCreateFileCapture(strFileName);//由待播放的视频名,创建CvCapture指针
int frames=(int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);//得到视频中帧的总数
if(frames!=0)
{
cvCreateTrackbar("position",WindowName1,&g_slider_position,frames,onTrackbarSlide);
}
//----------------------------------------------------------------
IplImage *frame;//创建图像指针 用作显示的图片
while(1)
{
frame=cvQueryFrame(g_capture);//从g_capture 获取一帧图像
if(!frame)
{
break;
}
cvShowImage(WindowName1,frame);
char c=cvWaitKey(33);//等待33毫秒,如果无按键,返回值c=-1。如果有按键,返回按键的ASCII值
g_slider_position++;//
cvCreateTrackbar("position",WindowName1,&g_slider_position,frames,onTrackbarSlide);
if(c==27)//27是Esc按键的ASCII值
{
break;//按下ESc键,停止播放
}
}
cvReleaseCapture(&g_capture);
cvDestroyWindow(WindowName1);
}
}
from:http://blog.csdn.net/nupt123456789/article/details/7097896
1.0.2-学习Opencv与MFC混合编程之---为播放AVI视频添加滑动条的更多相关文章
- 1.0.1-学习Opencv与MFC混合编程之---播放AVI视频
资源源代码:http://download.csdn.net/detail/nuptboyzhb/3961639 版本1.0.1新增内容 Ø 新建菜单项,Learning OpenCV——> ...
- 1.0.x-学习Opencv与MFC混合编程之---视频运动检测
源代码地址: http://download.csdn.net/detail/nuptboyzhb/3961668 版本1.0.x新增内容 视频运动检测 Ø 新建菜单项,Learning OpenCV ...
- 1.0.3-学习Opencv与MFC混合编程之---打开本地摄像头
源代码:http://download.csdn.net/detail/nuptboyzhb/3961643 版本1.0.3新增内容 打开摄像头 Ø 新建菜单项,Learning OpenCV——&g ...
- 1.1-学习Opencv与MFC混合编程之---利用画图函数,生成视频,并写入视频文件
源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961674 写视频文件 Ø 新建菜单项,Learning OpenCV——> OpenCVr ...
- 1.1.7-学习Opencv与MFC混合编程之---为画图工具添加工具栏
源代码:http://download.csdn.net/detail/nuptboyzhb/3961701 哎,其实里面有很多图片的,本来看起开很明了的,资源连接里有详细的文档,比下面的看的舒服的多 ...
- 1.1.5-学习Opencv与MFC混合编程之---画图工具 输入文字和填充图像 修改光标
源代码:http://download.csdn.net/detail/nuptboyzhb/3961696 输入文字 l 对话框 1. 插入,资源,选择对话框资源 2. 编辑对话框如下: ...
- 1.1.6-学习Opencv与MFC混合编程之---播放WAV音乐和 alpha融合功能
源代码:http://download.csdn.net/detail/nuptboyzhb/3961698 Alpha融合菜单项 1. 增加alpha融合菜单项,修改相应的属性,建立类向导 ...
- 1.1.4-学习Opencv与MFC混合编程之---画图工具 画椭圆
源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961690 1. 增加‘椭圆’菜单项,设置属性,添加类向导: 2. 编辑消息处理函数, ...
- 1.1.3-学习Opencv与MFC混合编程之---画图工具 通过对话框进行工具的参数设置 画曲线 绘图校正
源代码:http://download.csdn.net/detail/nuptboyzhb/3961688 l 对话框 1.“插入”->“资源”->“对话框” 2.对话框属性如下: 双击 ...
随机推荐
- 非root不能gdb attach的限制
Could not attach to process. If your uid matches the uid of the targetprocess, check the setting of ...
- [Swust OJ 1132]-Coin-collecting by robot
题目链接: http://acm.swust.edu.cn/problem/1132/ Time limit(ms): 1000 Memory limit(kb): 65 ...
- C# 7.0
C# 7.0 本文参考Roslyn项目中的Issue:#118. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性 ...
- 引用 RAM和ROM和Flash ROM的区别
用 饿狼 的 RAM和ROM和Flash ROM的区别 RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的.它在任何时候都可以读 ...
- poj 3370 鸽笼原理知识小结
中学就听说过抽屉原理,可惜一直没机会见识,现在这题有鸽笼原理的结论,但其实知不知道鸽笼原理都可以做 先总结一下鸽笼原理: 有n+1件或n+1件以上的物品要放到n个抽屉中,那么至少有一个抽屉里有两个或两 ...
- hbase安装配置(整合到hadoop)
hbase安装配置(整合到hadoop) 如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/ 1. ...
- 合并k个已排序的链表 分类: leetcode 算法 2015-07-09 17:43 3人阅读 评论(0) 收藏
最先想到的是把两个linked lists 合并成一个. 这样从第一个开始一个一个吞并,直到所有list都被合并. class ListNode:# Definition for singly-lin ...
- 01-IOSCore - NSString、NSFileManager、NSBundle、StringAndObjectConvert
模型 1 将数据存储到硬盘,将硬盘上的数据在读回内存 2 文件存储: NSFileHandle 对文件的读写 NSData 二进制数据 NSString 表示文件路径 NSFileManager(对文 ...
- WPF中控件ListView和DataGrid典型属性介绍
ListView GridView View视图 重要属性: public bool AllowsColumnReorder 获取或设置一个值,该值指示 System.Windows.Controls ...
- javascript操作元素的css样式
我们经常要使用Javascript来改变页面元素的样式.当中一种办法是改变页面元素的CSS类(Class),这在传统的Javascript里,我们一般是通过处理HTML Dom的classname特性 ...