源代码:http://download.csdn.net/detail/nuptboyzhb/3961698

Alpha融合菜单项

1.      增加alpha融合菜单项,修改相应的属性,建立类向导,编辑消息处理函数。

2.      在消息处理函数中添加如下代码

void CCVMFCView::OnAlphaMix()

{

//TODO: Add your command handler code here

//TODO: Add your command handler code here

IplImage*src1, *src2;

CStringcsAVI="src1 Files(lena.bmp)|*.bmp|";

CString csFilter=csAVI;

CStringcsFilter2="src2 Files(gs76.bmp)|*.bmp|";

CStringname[]={"","bmp",""};

CStringstrFileName;

CStringstrExtension;

CFileDialogFileDlg(true,NULL,NULL,OFN_HIDEREADONLY,csFilter);

if(FileDlg.DoModal()==IDOK ) {        //  选择了文件名

strFileName= FileDlg.m_ofn.lpstrFile;

if(FileDlg.m_ofn.nFileExtension == 0) { //  无文件后缀

strExtension= name[FileDlg.m_ofn.nFilterIndex];

strFileName= strFileName + '.' + strExtension;

//  加文件后缀

}

src1=cvLoadImage(strFileName);

if(src1)

{

MessageBox("还需要打开一张图片!");

}

CFileDialog FileDlg(true,NULL,NULL,OFN_HIDEREADONLY,csFilter2);

if(FileDlg.DoModal()==IDOK ) {        //  选择了文件名

strFileName= FileDlg.m_ofn.lpstrFile;

if(FileDlg.m_ofn.nFileExtension == 0) { //  无文件后缀

strExtension= name[FileDlg.m_ofn.nFilterIndex];

strFileName= strFileName + '.' + strExtension;

//  加文件后缀

}

src2=cvLoadImage(strFileName);

cvNamedWindow("src1",CV_WINDOW_AUTOSIZE);

cvMoveWindow("src1",300,300);

cvShowImage("src1",src1);

cvNamedWindow("src2",CV_WINDOW_AUTOSIZE);

cvMoveWindow("src2",300+src1->width,300);

cvShowImage("src2",src2);

intx = 112;

int y = 123;

int width =src2->width;

int height =src2->height;

double alpha = 0.5;

double beta  = 1-alpha;

cvSetImageROI(src1, cvRect(x,y,width,height));

cvSetImageROI(src2, cvRect(0,0,width,height));

cvAddWeighted(src1, alpha, src2, beta,0.0,src1);

cvResetImageROI(src1);

cvNamedWindow( "Alpha_blend",CV_WINDOW_AUTOSIZE );

cvMoveWindow("Alpha_blend",350+src1->width+src2->width,300);

cvShowImage( "Alpha_blend", src1 );

cvWaitKey(0);

cvReleaseImage(&src1);

cvReleaseImage(&src2);

}

}

}

播放wav音乐

1.插入资源(插入->资源->定制->(输入WAVA))

2.在resources中找到"WAVA"文件,打开有个IDR_WAVA1

3.右键->import->浏览后缀名为.wav的音频文件

4.在CXXXXView的构造函数中添加:

PlaySound(MAKEINTRESOURCE(IDR_TAOBAO_SENT_SOUND),AfxGetResourceHandle(),SND_ASYNC|SND_RESOURCE);

5.在该文件的上方,添加头文件#include"mmsystem.h"

6.工程->设置->连接->库模板添加"winmm.lib"

1.1.6-学习Opencv与MFC混合编程之---播放WAV音乐和 alpha融合功能的更多相关文章

  1. 1.0.1-学习Opencv与MFC混合编程之---播放AVI视频

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

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

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

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

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

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

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

  5. 1.0.2-学习Opencv与MFC混合编程之---为播放AVI视频添加滑动条

    源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961642 版本1.0.2新增内容 Ø  全局变量和函数的添加: 在CVMFCview.cpp文件 ...

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

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

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

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

  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. Java:使用synchronized和Lock对象获取对象锁

    在并发环境下,解决共享资源冲突问题时,可以考虑使用锁机制. 1.对象的锁 所有对象都自动含有单一的锁. JVM负责跟踪对象被加锁的次数.如果一个对象被解锁,其计数变为0.在任务(线程)第一次给对象加锁 ...

  2. ZSTU OJ 3999 零基础学算法---邻接表

    题目:Click here 题意:我就喜欢中文题! 分析:这个题虽然是中文题,但是还是有一点费解的.其实就是给你一棵树,是用图的形式给你的,只知道a,b之间有一条边,并不知道谁是父,谁是子.思路就是先 ...

  3. ContentProvider的一些总结

    ContentProvider中的URI, The URI that identifies the provider   一个特定的uri对应着唯一一个内容提供者, 谷歌官方文档里的说明, Query ...

  4. Java NIO--初步认识

    : 一.java NIO 和阻塞I/O的区别      1. 阻塞I/O通信模型      2. java NIO原理及通信模型 二.java NIO服务端和客户端代码实现 一.java NIO 和阻 ...

  5. USACO Preface Numbering 构造

    一开始看到这道题目的时候,感觉好难 还要算出罗马的规则. 但是仔细一看,数据规模很小, n 只给到3500 看完题目给出了几组样例之后就有感觉了 解题方法就是: n的每个十进制数 转换成相应的罗马数字 ...

  6. ASP.NET MVC 5 学习教程:添加模型

    原文 ASP.NET MVC 5 学习教程:添加模型 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...

  7. 自己定义progressdialog,改善用户体验

    自己定义progressdialog,改善用户体验 效果图: 详细实现方式: 1.定义Dialog的Layout布局 2.设置动画anim 3.创建自己定义dialog的样式 4.创建共同拥有方法来控 ...

  8. mysql的基础操作

    查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. mysql> show databases; 创建数据库 mysql> create d ...

  9. Inter IPP 跟 Microsoft V100编译器区别

    最近做项目用了两个编译器,由于是一种精度的算法计算,对计算的精度要求非常高,同时都用的float型,发现inter的结果比vs的结果好许多.但是不知道是什么原因,最后测试发现,是两个编译器的问题.   ...

  10. 第1章 Lua基础

    1.1 全局变量 全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil. 如果你想删除一个全局变量,只需要将变量负值为 nil ...