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.对话框属性如下: 双击 ...
随机推荐
- Android之drawable state各个属性具体解释
我们在定义一个drawable的时候能够通过xml定义的drawable对象.它使得一个图片能在不同的状态下显示不同的图案,比方一个Button,它有pressed.focused,或者其他状态,通过 ...
- Directshow 通过 put_Owner 指定显示窗口后,自动刷新问题
在Directshow中,我们可以对render指定显示窗口,在写程序的过程中, 发现通过put_Owner设置的显示窗口存在自动刷新问题,譬如窗口被遮挡然后再次露出时,被遮挡部分不能自动刷新,需要拖 ...
- HDU 4740 模拟题意
九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11711743 题意:驴和老虎在方格中跑,跑的方式:径直跑,若遇到边界或之前走过的 ...
- C++成员变量与函数内存分配
关于结构体和C++类的内存地址问题 C++类是由结构体发展得来的,所以他们的成员变量(C语言的结构体只有成员变量)的内存分配机制是一样的.下面我们以类来说明问题,如果类的问题通了,结构体也也就没问题啦 ...
- c++ 重载,覆盖,重定义
写的不是很明白,后来又重新整理过了,在: http://www.cnblogs.com/iois/p/4986790.html 函数重载(Function Overloading) C++允许同一范围 ...
- django-form表单的提交
<form action="/blog/" method="get"> 如果runserver默认启用127.0.0.1:8000的话,且上面这个f ...
- jQuery手写几个常见的滑动下拉菜单 分分秒秒学习JS
一般的企业网站再我们再实际工作中,有些特效,用jQuery来做,显得极其简单,除非一些大的公司,需要封装自己的类. 今天,我们讲解jQuery入门知识,来写几个简单jQuery滑动下拉菜单.感受一下j ...
- android之wifi开发
WIFI就是一种无线联网技术,常见的是使用无线路由器.那么在这个无线路由器的信号覆盖的范围内都可以采用WIFI连接的方式进行联网.如果无线路由器连接了一个ADSL线路或其他的联网线路,则又被称为“热点 ...
- [置顶] Guava学习之Iterators
Iterators类提供了返回Iterator类型的对象或者对Iterator类型对象操作的方法.除了特别的说明,Iterators类中所有的方法都在Iterables类中有相应的基于Iterable ...
- MFC常用控件CListCtrl 、CSliderCtrl、CToolTipCtrl、CTreeCtrl的自绘
Window平台下MFC提供的CListCtrl .CSliderCtrl.CToolTipCtrl.CTreeCtrl等控件大多时候是不能满足我们的需求,如果我要在改变滑动条的颜色,我要改变滑动条的 ...