摘要:在VS2010环境中应用Opencv,网上找到了很多配置方法,但大多都是老版本的,很多新手面对最新版本的Opencv无从下手,就给新手童鞋写了这么一篇超级详细的配置攻略,贴上来共享。要强调一点的就是,这种配置方法里使用的Opencv库是直接安装Opencv时候自带的dll库,在你的VS里面是无法调试Opencv的。如果需要调试Opencv,必须应用自己编译出来的Opencv库,具体怎么编译自己的Opencv库,网上有很多例子,再此不再赘述
1.下载并安装软件
下载最新版OpenCV-2.4.3(下载链接:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/OpenCV-2.4.3.exe/download),双击解压到D:\Program Files\opencv
下载VS2010,安装。(安装VS2010时,系统最好是Windows7集成sp1版,否则安装MS SQLserver2012时极有可能安装不成功)检查你的系统是否是集成sp1的版本:控制面板\系统和安全\系统
2.配置OpenCV环境变量
计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path 任选其一)->在变量值里面添加
“;D:\Program Files\opencv\build\x86\vc10\bin”和“;D:\Program Files\opencv\build\x86\vc10”。
3.建立工程
启动VS2010,新建基于MFC的对话框项目,工程名定为“LoadPicture”。对话框上两个默认按钮,即“确认”和“取消”按钮。
4.给工程配置opencv(每次建立新的项目工程时都要配置)
1)、项目(菜单项)->…属性->VC++目录:需要配置“包含目录”和“库目录”两项。
opencv_contrib243d.lib
opencv_core243d.lib
opencv_features2d243d.lib
opencv_flann243d.lib
opencv_gpu243d.lib
opencv_highgui243d.lib
opencv_imgproc243d.lib
opencv_legacy243d.lib
opencv_ml243d.lib
opencv_objdetect243d.lib
opencv_ts243d.lib
opencv_video243d.lib
opencv_calib3d243.lib
opencv_contrib243.lib
opencv_core243.lib
opencv_features2d243.lib
opencv_flann243.lib
opencv_gpu243.lib
opencv_highgui243.lib
opencv_imgproc243.lib
opencv_legacy243.lib
opencv_ml243.lib
opencv_objdetect243.lib
opencv_ts243.lib
opencv_video243.lib
5.添加处理函数
首先在stdafx.h文件中添加如下代码:
1 #include <afxcontrolbars.h> // 功能区和控件条的 MFC 支持 2 3 //************************************************************* 4 #include"cv.h" 5 #include"highgui.h" 6 #include<opencv2\opencv.hpp> 7 using namespace cv; 8 9 //**************************************************************
在项目资源中对话框中,给“确认”按钮添加单击事件代码:
1 void CLoadPictureDlg::OnBnClickedOk() 2 { 3 // TODO: 在此添加控件通知处理程序代码 4 CDialog::OnOK(); 5 IplImage* pImg; 6 //load image 7 //if the image is not exist,then exit 8 if((pImg=cvLoadImage("testpic.jpg",CV_LOAD_IMAGE_ANYCOLOR))==0) 9 return; 10 cvNamedWindow("显示图像",1);//create window 11 cvShowImage("显示图像",pImg);//show the image 12 cvWaitKey(0);//wait the key be Clicked 13 cvDestroyWindow("显示图像");//destroy the window 14 cvReleaseImage(&pImg);//release the image 15 }
编译并运行程序,当用户单击“确认”按钮时,图像“testpic.jpg”被显示,其中testpic.jpg文件应位于程序目录下。
运行结果: