OpenCV实现基于图像内容检索--视频播放(上)

最近要交个小作业,恰好刚开了博客园的博客,就想着把这个记下来当是做点笔记)=.=(,做的小作业的题目是基于图像内容的内容检索,主要是包括OpenCV和使用ActiveX插件两种方法来播放,这部分就写关于使用控件来实现视频播放的内容吧。

  【可能这几篇文章只是应用型的小作业,水平可能适合初学者看看,大牛略过就行】

开发环境:

Win7+VS2012+OpenCV

1.首先,打开VS2012,文件-->新建-->项目-->MFC应用程序,输入项目"名称"为Video,点击"确定",然后选中"基于对话框",其余保持默认就好,然后"完成"。

2.删除默认的几个控件,下面先介绍第一种:以控件方式实现视频播放。

  在Video界面中右键,选择"插入ActiveX控件",然后选择"Windows Media Player",点击"确定"。

  调节控件的大小,然后右键这个控件,选择"类向导",如图1所示:

  

  双击1处,添加变量名,设置为"m_player",然后点击2处"添加类",选择"ActiveX控件中的MFC类",如图2所示:

  

  按照网上的教程,说是在"可用的ActiveX控件"找到Windows media player<1.0>选中即可,但我没找到这个,于是可以选中"文件",点击"位置",选择"C:\Windows\System32\wmp.dll",如果可以都选上生成类,我选中了"IWMPPlayer4",然后">",点击"完成"即可。(如果需要下载Windows media player控件类打包,点击这里下载)

  此时会跳转到CWMPPlayer4.h文件中,然后我们在VideoDlg.h文件爱你中添加头文件,即#include CWMPPlayer4.h,然后声明控件对象,如图3所示:

  

  然后关联控件,注意眼根据自己控件的ID而定(我的默认的就是IDC_OCX1):

  

  接着在界面中添加一个按钮,并双击按钮,出现响应按钮事件的函数进行编辑,我们只是简单的写一句就好:

void CVideoDlg::OnBnClickedButton1(){  m_player.put_URL(_T("G:\\testdata\\test.avi"));
  //注意加路径是\\,因为要转义,并且路径前要加上_T(),不然会报错}

  最后运行程序,播放效果如下图所示:

  

  

  在配置过程中可能还会出现一些小错误,多多查资料,多多交流。下篇讲使用OpenCV实现视频播放。

时间: 2024-10-24 14:12:13

OpenCV实现基于图像内容检索--视频播放(上)的相关文章

图像检索(5):基于OpenCV实现小型的图像数据库检索

本文对前面的几篇文章进行个总结,实现一个小型的图像检索应用. 一个小型的图像检索应用可以分为两部分: train,构建图像集的特征数据库. retrieval,检索,给定图像,从图像库中返回最类似的图像 构建图像数据库的过程如下: 生成图像集的视觉词汇表(Vocabulary) 提取图像集所有图像的sift特征 对得到的sifte特征集合进行聚类,聚类中心就是Vocabulary 对图像集中的图像重新编码表示,可使用BoW或者VLAD,这里选择VLAD. 将图像集中所有图像的VLAD表示组合到一

互联网相似图像识别检索引擎 —— 基于图像签名的方式

源地址:http://grunt1223.iteye.com/blog/828192 一.引言 多媒体识别是信息检索中难度较高且需求日益旺盛的一个问题.以图像为例,按照图像检索中使用的信息区分,图像可以分为两类:基于文本的图像检索和基于内容识别的图像检索(CBIR:Content Based Image Retrieval).基于文本的图像检索完全不分析和利用图像本身的内容,其检索质量完全依赖于与图像关联的文字信息与图像内容的相关性,因此有必要引入基于内容的图像检索.本为主要讨论后者. 在计算机

OpenCV:基于MFC的视频播放器和图片读取器

实例工程包下载[OpenCV:基于MFC的视频播放器和图片读取器] 一.实现的功能 1.打开本地视频进行读取.播放.暂停.停止控制 2.图片打开功能分为两种:可使用"打开图片"按钮打开本地图片,或者点击comobox里面设定的图片列表选择并显示图片 二.编译环境 OS:Win8.1 x64 IDE:  Visual Studio 2013 OpenCV: 2.4.8 三.主要思路 1.视频的滑动条控制: ①主窗体的OnHScroll()响应函数负责响应slider滑动条的变化,这样就轻

基于c++和opencv底层的图像旋转

图像旋转:本质上是对旋转后的图片中的每个像素计算在原图的位置. 在opencv包里有自带的旋转函数,当你知道倾斜角度theta时: 用getRotationMatrix2D可得2X3的旋转变换矩阵 M,在用warpaffine函数可得倾斜后的图像dst. 很方便啊,为什么还要自己实现底层的图像旋转呢?因为有些地方你用这两个函数就会出现问题,比如说: 当原图的size是MXN,且图像是完全填充的(因为如果有留白可能还不能将问题完全反映出来),现在你需要将它90°变换(为了形象说明),可是用前面两个

100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)【转】

转自:http://blog.csdn.net/leixiaohua1020/article/details/8652605 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 简介 流程图 simplest_ffmpeg_player标准版代码 simplest_ffmpeg_player_suSU版代码 结果 FFMPEG相关学习资料 补充问题 ===================================================== 最简单的基于FFmp

最简单的基于FFMPEG+SDL的视频播放器 ver2 (採用SDL2.0)

===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x) 最简单的基于FFMPEG+SDL的视频播放器 ver2 (採用SDL2.0) 最简单的基于FFmpeg的解码器-纯净版(不包括libavformat) 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器 最简单的基于FFMPEG的Hellowor

最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)

简介 之前做过一个FFMPEG+SDL的简单播放器:<100行代码实现最简单的基于FFMPEG+SDL的视频播放器>.该播放器采用SDL1.2显示视频.最近有不少人反映SDL已经升级到2.0版本了,甚至官网的Wiki上都只有SDL2.0的文档了,因此下载了SDL 2.0 并且进行了简单的研究.随后对此前的播放器进行了修改,将SDL1.2换成了SDL2.0. 注:<100行代码实现最简单的基于FFMPEG+SDL的视频播放器>文章中提到的很多知识这里不再重复.本文重点记录SDL1.2

OpenCV &mdash;&mdash; 矩阵和图像操作

cvAbs , cvAbsDiff , cvAbsDiffS cvAdd , cvAddS , cvAddWeighted(可添加权重) #include <cv.h> #include <highgui.h> int main(int argc,char** argv) { IplImage *s1,*s2; s1=cvLoadImage("wukong.jpg",CV_LOAD_IMAGE_COLOR); s2=cvLoadImage("test.

上传图片图像进行压缩后上传

图片压缩: NSData *imageData = UIImageJPEGRepresentation(self.uploadImage , 0.55); NSString *file_name = [TimeUtil getDateStringWithFormat:@"yyyy-MM-dd"]; NSString *upload_name =[NSString stringWithFormat:@"%@.jpg",file_name ]; [request set