MFC+openCV学习
来源:互联网 发布:mac sass安装失败 编辑:程序博客网 时间:2024/05/16 14:37
一 :将某文件夹的图片(BMP)显示到Dlg中去
1、创建MFC 首先创建一个新的MFC对话框应用程序,在初始的GUI界面添加一个Button和一个Picture控件,在Button控件的属性菜单栏中修改标题“Caption”为“读图”,即此控件的功能是读取图片。将Picture控件的ID号设置为IDC_ShowImg,这个ID号在后面的图像显示函数中会用到
==========================
拉好框架后,自动生成的类,函数有:
class CAboutDlg : public CDialogEx
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)END_MESSAGE_MAP()
CPicture_Control1Dlg::CPicture_Control1Dlg(CWnd* pParent /*=NULL*/): CDialogEx(CPicture_Control1Dlg::IDD, pParent)
void CPicture_Control1Dlg::DoDataExchange(CDataExchange* pDX)
BEGIN_MESSAGE_MAP(CPicture_Control1Dlg, CDialogEx)
BOOL CPicture_Control1Dlg::OnInitDialog()在下面添加
// TODO: 在此添加额外的初始化代码CvSize ImgSize;//建立空间的大小 ImgSize.height = IMAGE_HEIGHT; ImgSize.width = IMAGE_WIDTH; TheImage = cvCreateImage( ImgSize, IPL_DEPTH_8U, IMAGE_CHANNELS ); //创建图像空间start=(double)clock(); //用于程序计时return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
void CPicture_Control1Dlg::OnSysCommand(UINT nID, LPARAM lParam)
void CPicture_Control1Dlg::OnPaint()
HCURSOR CPicture_Control1Dlg::OnQueryDragIcon()
==========================
接下来是按钮定义的操作。
void CPicture_Control1Dlg::OnBnClickedButton1(){/*// TODO: Add your control notification handler code hereMyIplClass *Img =new MyIplClass;char* filename;//CString mPath ="C:\\OpenCV-2.2.0\\samples\\tiny.png";//IplImage* ipl = cvLoadImage( mPath, 1 );//This file should be part of the OpenCV kitfilename= "C:\\OpenCV-2.2.0\\samples\\tiny.png";Img->LoadBMP(filename);Img->GetIplData(TheImage);//ResizeImage(ipl); // 对读入的图片进行缩放,使其宽或高最大值者刚好等于 256,再复制到 TheImage 中ShowImage(TheImage, IDC_PICTURE1);delete Img;RedrawWindow(NULL,NULL,RDW_INVALIDATE);//Force update the dialog*/ CFileDialog dlg( TRUE, _T("*.bmp"), NULL, OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY, _T("image files (*.bmp; *.jpg) |*.bmp; *.jpg | All Files (*.*) |*.*||"), NULL ); // 选项图片的约定 dlg.m_ofn.lpstrTitle = _T("Open Image"); // 打开文件对话框的标题名 if( dlg.DoModal() != IDOK ) // 判断是否获得图片 return; CString mPath = dlg.GetPathName(); // 获取图片路径 IplImage* ipl = cvLoadImage( mPath, 1 ); // 读取图片、缓存到一个局部变量 ipl 中 if( !ipl ) // 判断是否成功载入图片 return; if( TheImage ) // 对上一幅显示的图片数据清零 cvZero( TheImage );ResizeImage( ipl ); //缩放ShowImage( TheImage, IDC_PICTURE1 );// 调用显示图片函数//cvSaveImage("C:\\OpenCV-2.2.0\\samples\\convert_result\\fuben.jpg",TheImage);CString str1;str1.Format("%d",ipl->height);CString str2;str2.Format("%d",ipl->width);CString str = str2+ "*"+str1;this->SetDlgItemText(IDC_EDIT2,str); cvReleaseImage( &ipl );
==========================
接下来是按钮定义的操作。
0 0
- MFC OPENCV学习笔记
- MFC+openCV学习
- 二 图像处理opencv mfc学习
- MFC+OPENCV
- MFC OPenCV
- FFmpeg 学习之 解码并 MFC+OpenCV 显示
- Opencv (Opencv2)结合MFC学习数字图像处理---显示图片
- OpenCV学习笔记之 ( 三 ) MFC显示Mat图片
- opencv学习中——VS2013中的MFC
- opencv学习中——MFC的小问题
- Using OpenCV with MFC
- OpenCV 与 MFC 共存
- openCV 与MFC交互
- OpenCV 在MFC中二值化
- MFC中OpenCV使用
- MFC和OpenCV结合
- opencv显示到mfc
- MFC使用OpenCv注意事项
- IO系统性能之二:缓存和RAID如何提高磁盘IO性能
- 第五十二题(二元树的深度)
- [Python]Windows下python环境变量配置
- 大整数模板(c++)—算法竞赛入门
- 线程的同步synchronized
- MFC+openCV学习
- BOJ 395 Tree
- WiFi共享精灵文件传输新功能:金币话费领不停
- 内存池
- Shannon entropy
- PAT循环-11. 水仙花数(20)
- 跨进程 获取 syslistview32 内容
- 初步理解Android的MediaScanner(2)
- 华为招聘机试整理6:选秀节目打分