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

源代码: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"

时间: 2024-09-20 00:33:19

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

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

资源源代码:http://download.csdn.net/detail/nuptboyzhb/3961639 版本1.0.1新增内容 Ø  新建菜单项,Learning OpenCV--> OpenCVr入门-->播放AVI视频. Ø  为' 播放AVI视频'菜单项设置属性如下: Ø  为上述菜单项建立类向导,设置如下: Ø  编辑代码: 代码具体如下 void CCVMFCView::OnPlAYAVITEST() {          // TODO: Add your command

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

源代码地址: http://download.csdn.net/detail/nuptboyzhb/3961668 版本1.0.x新增内容 视频运动检测 Ø 新建菜单项,Learning OpenCV--> OpenCVr入门-->视频运动检测 Ø 菜单项设置如下: Ø 建立类向导 Ø 编辑代码 voidCCVMFCView::OnMyTestSport() {        // TODO: Add your command handler codehere        //Alt+F8

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

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

源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961674 写视频文件 Ø 新建菜单项,Learning OpenCV--> OpenCVr入门-->写视频文件 Ø 菜单项设置如下 Ø 建立类向导 Ø 编辑代码 voidCCVMFCView::OnMyWriteVedio() {        // TODO: Add your command handler codehere        CStringcsAVI="AVI F

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

源代码:http://download.csdn.net/detail/nuptboyzhb/3961643 版本1.0.3新增内容 打开摄像头 Ø 新建菜单项,Learning OpenCV--> OpenCVr入门-->打开摄像头(c) Ø 菜单项设置如下: Ø 建立类向导 Ø 编辑代码 void CCVMFCView::OnMyOpenCamera() {       // TODO: Add your command handler code here       //Alt+F8 整

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

源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961690 1.    增加'椭圆'菜单项,设置属性,添加类向导: 2.    编辑消息处理函数,设置画图变量标识my_draw_flag为5,并读取对话框里的数据. 3.    修改OnMouseMove消息处理函数. 3.1增加变量CvSize  CvSize EllipseSize; 3.2           case 5的编程:          case 5:            

1.1.0-学习Opencv与MFC混合编程之---全屏截图,保存为BMP图像(并增加快捷键)

源代码:http://download.csdn.net/detail/nuptboyzhb/3961677 Ø  添加全屏截图菜单项,菜单项的属性如下; Ø  为该菜单项建立类向导. 编辑消息处理函数如下 voidCCVMFCView::OnPrintscreen() {                   CRect rect;          //HBITMAP hMap;          rect.left = 0;          rect.top = 0;          r

1.1.2-学习Opencv与MFC混合编程之---画图工具 画直线 画圆 画矩形

源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961685 画图工具 1.     画直线 Ø  增加'直线'菜单项,建立类向导: Ø  对CXXXXXXView类增加成员变量my_draw_flag.并在构造函数中初始化为0 Ø  在'直线'菜单项处理函数中,将my_draw_flag=1:表示画直线 Ø  增加window消息处理,WM_LBUTTONDOWN 和WM_MOUSEMOVE和WM_LBUTTONUP Ø  增加成员变量 在构

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

源代码:http://download.csdn.net/detail/nuptboyzhb/3961688 l 对话框 1."插入"->"资源"->"对话框" 2.对话框属性如下: 双击对话框,建立对话框类.取名:LineParameter 3.在LineParameter.h头文件中添加#include "resource.h",否则:会报错:IDD_DIALOG4未定义 4.为LineParameter类增加