源代码地址: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. 1.0.1-学习Opencv与MFC混合编程之---播放AVI视频

    资源源代码:http://download.csdn.net/detail/nuptboyzhb/3961639 版本1.0.1新增内容 Ø  新建菜单项,Learning OpenCV——> ...

  2. 1.0.x-学习Opencv与MFC混合编程之---视频运动检测

    源代码地址: http://download.csdn.net/detail/nuptboyzhb/3961668 版本1.0.x新增内容 视频运动检测 Ø 新建菜单项,Learning OpenCV ...

  3. 1.0.3-学习Opencv与MFC混合编程之---打开本地摄像头

    源代码:http://download.csdn.net/detail/nuptboyzhb/3961643 版本1.0.3新增内容 打开摄像头 Ø 新建菜单项,Learning OpenCV——&g ...

  4. 1.1-学习Opencv与MFC混合编程之---利用画图函数,生成视频,并写入视频文件

    源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961674 写视频文件 Ø 新建菜单项,Learning OpenCV——> OpenCVr ...

  5. 1.1.7-学习Opencv与MFC混合编程之---为画图工具添加工具栏

    源代码:http://download.csdn.net/detail/nuptboyzhb/3961701 哎,其实里面有很多图片的,本来看起开很明了的,资源连接里有详细的文档,比下面的看的舒服的多 ...

  6. 1.1.5-学习Opencv与MFC混合编程之---画图工具 输入文字和填充图像 修改光标

    源代码:http://download.csdn.net/detail/nuptboyzhb/3961696 输入文字 l 对话框 1.    插入,资源,选择对话框资源 2.    编辑对话框如下: ...

  7. 1.1.6-学习Opencv与MFC混合编程之---播放WAV音乐和 alpha融合功能

    源代码:http://download.csdn.net/detail/nuptboyzhb/3961698 Alpha融合菜单项 1.      增加alpha融合菜单项,修改相应的属性,建立类向导 ...

  8. 1.1.4-学习Opencv与MFC混合编程之---画图工具 画椭圆

    源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961690 1.    增加‘椭圆’菜单项,设置属性,添加类向导: 2.    编辑消息处理函数, ...

  9. 1.1.3-学习Opencv与MFC混合编程之---画图工具 通过对话框进行工具的参数设置 画曲线 绘图校正

    源代码:http://download.csdn.net/detail/nuptboyzhb/3961688 l 对话框 1.“插入”->“资源”->“对话框” 2.对话框属性如下: 双击 ...

随机推荐

  1. 非root不能gdb attach的限制

    Could not attach to process.  If your uid matches the uid of the targetprocess, check the setting of ...

  2. [Swust OJ 1132]-Coin-collecting by robot

          题目链接:          http://acm.swust.edu.cn/problem/1132/ Time limit(ms): 1000 Memory limit(kb): 65 ...

  3. C# 7.0

    C# 7.0 本文参考Roslyn项目中的Issue:#118. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性 ...

  4. 引用 RAM和ROM和Flash ROM的区别

    用 饿狼 的 RAM和ROM和Flash ROM的区别 RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的.它在任何时候都可以读 ...

  5. poj 3370 鸽笼原理知识小结

    中学就听说过抽屉原理,可惜一直没机会见识,现在这题有鸽笼原理的结论,但其实知不知道鸽笼原理都可以做 先总结一下鸽笼原理: 有n+1件或n+1件以上的物品要放到n个抽屉中,那么至少有一个抽屉里有两个或两 ...

  6. hbase安装配置(整合到hadoop)

    hbase安装配置(整合到hadoop) 如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/ 1. ...

  7. 合并k个已排序的链表 分类: leetcode 算法 2015-07-09 17:43 3人阅读 评论(0) 收藏

    最先想到的是把两个linked lists 合并成一个. 这样从第一个开始一个一个吞并,直到所有list都被合并. class ListNode:# Definition for singly-lin ...

  8. 01-IOSCore - NSString、NSFileManager、NSBundle、StringAndObjectConvert

    模型 1 将数据存储到硬盘,将硬盘上的数据在读回内存 2 文件存储: NSFileHandle 对文件的读写 NSData 二进制数据 NSString 表示文件路径 NSFileManager(对文 ...

  9. WPF中控件ListView和DataGrid典型属性介绍

    ListView GridView View视图 重要属性: public bool AllowsColumnReorder 获取或设置一个值,该值指示 System.Windows.Controls ...

  10. javascript操作元素的css样式

    我们经常要使用Javascript来改变页面元素的样式.当中一种办法是改变页面元素的CSS类(Class),这在传统的Javascript里,我们一般是通过处理HTML Dom的classname特性 ...