Windows下OpenCV3.1.0环境配置

    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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值