利用OpenCV和MFC对话框建设一个有滑动条控制的播放器--转

简介: (一)问题的提出: OpenCV有一个很简单的播放视频文件并加载滑动条的程序,但是如何用MFC对话框来创建一个有滑动条控制的播放器呢,网络上四处搜索都没有代码可以参考,下的都是些骗子链接文件,很过分,一点参考价值都没有,怎么办? (二)解决的思路: 1.自己进行研究,不指望网络有现成的馅饼,因为那里多了去的陷阱,很可恶。

(一)问题的提出:

OpenCV有一个很简单的播放视频文件并加载滑动条的程序,但是如何用MFC对话框来创建一个有滑动条控制的播放器呢,网络上四处搜索都没有代码可以参考,下的都是些骗子链接文件,很过分,一点参考价值都没有,怎么办?

(二)解决的思路:

1.自己进行研究,不指望网络有现成的馅饼,因为那里多了去的陷阱,很可恶。

2.要解决的关键问题是slider滑动条控件如何与视频播放实时结合在一起:

  ①主窗体的OnHScroll()响应函数负责响应slider滑动条的变化,这样就轻松搞定slider控件与拖动滑动条动作与视频播放的联动。

  ②新建虚拟的slider实例和slider滑动位置的全局变量,通过数据交换函数予以关系绑定

  ③通过OpenCV的函数cvSetCaptureProperty()和slider滑动位置全局变量来确定指向视频的哪个帧位置,并进行加载显示到Picture控件中

(三)问题的解决:

1.编写完了程序,在程序中添加了如下注释代码:

//////////////////////////////////////////////////////////////////////
// VideoPlayer
// Author: Weilin Huang (19894644@qq.com)
// Last modification: May 16, 2012
//////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////
// 使用说明:
//   1. 安装VS2008
//   2. 安装OpenCV2.0
//   3. 安装cmake2.8.6
//   4. 通过cmake生成可以被VC++ 2008调用的OpenCV动态库
//   5. 配置Windows环境变量Path,将OpenCV2.0安装后的bin文件夹目录添加入用户变量
//      使得Path=.../bin
//      (...是OpenCV2.0安装后的program files下的目录全路径)
//   6. 打开VC++ 2008,菜单中的工具→选项→项目和解决方案→VC++目录
//      在显示以下内容的目录中,
//      先选中可执行文件,加入目录...\bin
//      再选中包含文件,加入目录...\include\opencv 
//      再选中库文件,加入目录...\lib
//      (...是OpenCV2.0安装后的program files下的目录全路径)
//   7. 新建MFC对话框项目VideoPlayer
//      然后再在它的属性里去掉更换Unicode的字符集为多字节集
//      配置链接器的输入依赖项cxcore200.lib cv200.lib highgui200.lib
//   8. 或者是不进行7的操作,直接将本程序对新建的VideoPlayer对话框项目进行覆盖
//      然后再对其中的VideoPlayer对话框项目配置属性进行修改
//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////
// 功能说明:
//   1. slider控件、Picture控件、打开按钮、播放按钮、暂停按钮、停止按钮
//   2. 实现视频的加载、播放、暂停、停止,以及通过滑动条进行视频播放进度的控制
//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////
// 存在的问题:
//   1. 有些视频并不是有多少帧就多少帧结尾
//      比如用屏幕录像机录像的avi,比如录了帧,它有时会丢帧,
//      丢帧的那个位置,无法用IplImage的图像空间来加载视图,那程序调试就会报错
//   2. 基本的功能都实现了,就缺验证它的执行效率,还有是否会存在内存泄漏
//////////////////////////////////////////////////////////////////////

2.程序打包成VideoPlayer.rar(压缩包内除了完整程序还包括了文件cmake-2.8.6-win32-x86.exe和OpenCV-2.0.0a-win32.exe),放置到如下位置:

 http://download.csdn.net/detail/huanghanyu11/4311846

  解压缩密码为huangweilin

 

from:http://www.cnblogs.com/huangweilin/archive/2012/05/18/2507764.html

目录
相关文章
|
4月前
|
算法
OpenCV-Python】滑动条Trackbar的创建和使用(createTrackbar())
该文章介绍了如何在OpenCV-Python中创建和使用滑动条(Trackbar)来动态调节参数,并通过实际代码示例演示了如何通过滑动条控制图像颜色。
|
4月前
|
计算机视觉
OpenCV滑动条(createTrackbar()函数)如何在多个维度进行同步调整?
这篇文章介绍了如何在OpenCV中使用`createTrackbar()`函数创建多个滑动条以同步调整图像的多个维度(如亮度和对比度),通过将不同滑动条的回调函数合并为一个,确保它们在同一图像基础上进行调整。
|
7月前
|
计算机视觉
[Qt&MFC] 各种方式的图像读取(OpenCv、Halcon)
[Qt&MFC] 各种方式的图像读取(OpenCv、Halcon)
139 0
|
计算机视觉 C++
【OpenCV • c++】滑动条的创建和使用
【OpenCV • c++】滑动条的创建和使用
218 0
|
XML 数据格式
【opencv3】滑动条调节RGB颜色阈值并输出滑动条的值
【opencv3】滑动条调节RGB颜色阈值并输出滑动条的值
|
存储 人机交互 数据安全/隐私保护
OpenCV和MFC的超混沌图像加密
OpenCV和MFC的超混沌图像加密
140 0
OpenCV和MFC的超混沌图像加密
|
计算机视觉 C++ Windows
解决MFC使用OpenCV动态库会误报内存泄露的问题(太多人遇到这个问题了)
解决MFC使用OpenCV动态库会误报内存泄露的问题(太多人遇到这个问题了)
483 0
解决MFC使用OpenCV动态库会误报内存泄露的问题(太多人遇到这个问题了)
|
计算机视觉
我个人实现的MFC+OpenCV4+VS2017对话框打开并显示图像,还能支持ROI矩形框选(橡皮筋类)
我个人实现的MFC+OpenCV4+VS2017对话框打开并显示图像,还能支持ROI矩形框选(橡皮筋类)
293 0
|
计算机视觉
基于opencv和mfc的摄像头采集代码(GOMFCTemplate2)持续更新
      编写带界面的图像处理程序,选择opencv+mfc是一种很好的选择;在读取摄像头数据方面,网上的方法很多,其中shiqiyu的camerads的方法是较好的。       基于现有资料,通过在实际项目中的积累,我总结出来一套结合opencv和mfc的摄像头采集框架。
1711 0
|
算法 计算机视觉 索引
基于Opencv和Mfc的图像处理增强库GOCVHelper(索引)
GOCVHelper(GreenOpen Computer Version Helper )是我在这几年编写图像处理程序的过程中积累下来的函数库。主要是对Opencv的适当扩展和在实现Mfc程序时候的功能增强。
1428 0