您的位置:首页 > 其它

图像分割工作的总结(一)

2014-02-27 10:10 106 查看
做了两个月的图像分割,主要工具为:MFC(VS2010)、opencv2.3.1、ITK4.3.1、VTK5.8.0,现做如下知识性的总结一、配置问题1.opencv2.3.1 下载已编译的库,设置一下计算机的环境变量,然后直接在VS中包含一下库文件即可。2.ITK和VTK使用CMake编译二、程序(MFC)1. 打开文件及文件夹,定制对话框(1)打开文件对话框,获取选择项的路径 CFileDialogCString filename;CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,NULL,NULL,0,TRUE);if(IDOK==dlg.DoModal()){filename=dlg.GetPathName();}(2)打开文件夹对话框MFC中没有现成的类,需要定制文件夹对话框,封装函数如下:CString GetFolderPath(){LPITEMIDLIST rootLoation;SHGetSpecialFolderLocation( NULL, CSIDL_DESKTOP, &rootLoation );//配置对话框CString strPath = "";BROWSEINFO bInfo;ZeroMemory(&bInfo, sizeof(bInfo));bInfo.lpszTitle = _T("请选择路径: ");bInfo.ulFlags = BIF_RETURNONLYFSDIRS;bInfo.pidlRoot = rootLoation; // 文件夹对话框之根目录,不指定的话则为我的电脑//显示对话框LPITEMIDLIST lpDlist; //用来保存返回信息的IDListlpDlist = SHBrowseForFolder(&bInfo) ; //显示选择对话框if(lpDlist != NULL) //用户按了确定按钮{TCHAR chPath[255]; //用来存储路径的字符串SHGetPathFromIDList(lpDlist, chPath);//把项目标识列表转化成字符串strPath = chPath; //将TCHAR类型的字符串转换为CString类型的字符串}return strPath;}详解:LPITEMIDLIST 表示ITEMIDLIST结构,而非指向ITEMIDLIST结构的指针。item id是一个结构体,它等价于文件或文件夹名称的功能,通常并不单独使用,而是存在一个item id列表.
HRESULT SHGetSpecialFolderLocation(
HWND hwndOwner,
int nFolder,
PIDLIST_ABSOLUTE *ppidl
);             返回一个指向ITEMIDLIST结构的指针,存放于ppidl中
BROWSEINFO 包含SHBrowseForFolder()函数所需信息的结构体,并返回用户所选择的文件夹信息
SHBrowseForFolder(&bInfo)显示一个能使用户选择Shell文件夹的对话框,并返回ITEMIDLIST结构体指针
(3)定制自己的对话框
创建自己的对话框类,在对话框类中实现自己的函数。调用DoModal显示模态对话框,或另一个函数显示非模态对话框

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: