Windows下OpenCV3.1.0环境配置

来源:互联网 发布:数据分析员培训 编辑:程序博客网 时间:2024/06/06 03:20
    1. 环境准备:  Visual Studio2013, OpenCV3.1.0
        在OpenCV官网下载Windows平台的EXE文件后,双击解压到指定路径下:
       
        build目录下是支持Opencv使用的文件,source目录下是源码和历程等。
    2. 增加环境变量:
       
    3. 新建MFC应用程序对话框项目,编辑界面如下: 
               
    4. 引用库和DLL:
        "视图" -- "其他窗口" -- "属性管理器":
       
       
        选择"包含目录":
       
        增加如下几个目录:
       
        在库目录下包含如下路径:
       
        进入链接器页面:
       
        增加如下库:(在这里可以找到: D:\usr\opencv\opencv\build\x64\vc12\lib)
       
    5. 测试:
        在Dlg的cpp文件上面增加头文件包含和命名空间引用:
       
                #include <opencv2\opencv.hpp>
                using namespace cv;
        然后在OnInitDialog()函数增加版本显示(注意:这里的字符集是UNICODE,因此还需要进行char*到LPCWSTR的一个转换,否则会乱码,这里使用T2W转换宏来处理)
       
        运行结果如下:
       
        修改界面,增加一个Pictrure Control和按钮,用于打开图片并进行显示:
       
       添加打开图片并进行显示的逻辑:
void COpenCVUtilsDlg::OnBnClickedButtonOpenPicture(){// TODO:  在此添加控件通知处理程序代码TCHAR szFilter[] = _T("图片文件(*.png)|*.png|所有文件(*.*)||");CFileDialog fileDlg(TRUE, _T("png"), NULL, 0, szFilter, this);CString strFilePath;if (IDOK == fileDlg.DoModal()) {strFilePath = fileDlg.GetPathName();int height, width;CImage image;CRect rect, rect1;image.Load(_T(strFilePath));height = image.GetHeight();width = image.GetWidth();m_ori_image.GetClientRect(&rect);CDC *pDC = m_ori_image.GetDC();SetStretchBltMode(pDC->m_hDC, STRETCH_HALFTONE);if (width<=rect.Width() && height<=rect.Height()){rect1 = CRect(rect.TopLeft(), CSize(width, height));image.StretchBlt(pDC->m_hDC, rect1, SRCCOPY);}else {float xScale = (float)rect.Width() / (float)width;float yScale = (float)rect.Height() / (float)height;float ScaleIndex = (xScale >= yScale ? xScale : yScale);rect1 = CRect(rect.TopLeft(), CSize((int)width*ScaleIndex, (int)height*ScaleIndex));image.StretchBlt(pDC->m_hDC, rect1, SRCCOPY);}ReleaseDC(pDC);}}
        注意,这里需要判断图片是否需要缩放显示,当图片很小时,直接显示,当图片过大,就需要进行比例缩放,否则,图片显示会很模糊:
      
        然后,下面就是使用opencv的函数对图像进行处理了。
       
0 0
原创粉丝点击