需要安装的软件
-------------------------------------------------------------------------------------
1.VS2008.
2.openCV2.4.5。下载地址:http://www.opencv.org.cn/index.php/Download。其实这是一个压缩包。我把压缩后的文件放在E:\OpenCV2.4.5中。
配置VC
配置include路径
也即告诉VC去什么地方寻找OpenCV的头文件,打开VC,选择菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“包含文件”,包含
E:\OpenCV2.4.5\opencv\build\include;
E:\OpenCV2.4.5\opencv\build\include\opencv;
E:\OpenCV2.4.5\opencv\build\include\opencv2
配置lib路径
也即告诉VC去什么地方寻找OpenCV的库文件。
在刚才下载的文件OpenCV-2.4.5.exe 里,已经为VC2008和VC2010预先编译好了动态库和静态库。因此我们不需要如早先版本那样,自己用cmake编译OpenCV。
- 32位系统 & VC2008,库目录为:
- E:\openCV2.4.5\opencv\build\x86\vc9\lib
- 32位系统 & VC2010,库目录为:
- E:\openCV2.4.5\opencv\build\x86\vc10\lib
- 64位系统 & VC2008,库目录为:
- E:\openCV2.4.5\opencv\build\x64\vc9\lib
- 64位系统 & VC2010,库目录为:
- E:\openCV2.4.5\opencv\build\x64\vc10\lib
请根据自己的情况四选一,将库目录输入菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“库文件” 。如下图所示:
设置环境变量
刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下,请根据自己情况五选一:
- 32位系统 & VC2008,dll目录为:
- E:\openCV2.4.5\opencv\build\x86\vc9\bin
- 32位系统 & VC2010,dll目录为:
- E:\openCV2.4.5\opencv\build\x86\vc10\bin
- 64位系统 & VC2008,dll目录为:
- E:\openCV2.4.5\opencv\build\x64\vc9\bin
- 64位系统 & VC2010,dll目录为:
- E:\openCV2.4.5\opencv\build\x64\vc9\bin
如下图所示将OpenCV的dll文件所在的目录加入到系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。
使用OpenCV 2.4.5编程
- 打开VS2008,创建一个Win32控制台程序opencvtest;
- 选择Solution Explorer里的opencvtest项目,点击鼠标右键,选择Properties。
- 在[链接器 LINKER]的[输入INPUT]中,为项目的Debug配置增加 [附加依赖项 Additional Dependencies]:
- opencv_calib3d245d.lib;
- opencv_contrib245d.lib;
- opencv_core245d.lib;
- opencv_features2d245d.lib;
- opencv_flann245d.lib;
- opencv_gpu245d.lib;
- opencv_highgui245d.lib;
- opencv_imgproc245d.lib;
- opencv_legacy245d.lib;
- opencv_ml245d.lib;
- opencv_objdetect245d.lib;
- opencv_ts245d.lib;
- opencv_video245d.lib (可根据实际需要删减)注意,请打开了新编辑窗口(即点击了“...”按钮)“附加依赖项”,并一条一条分别加入,一条一行(一个回车),(注意行末不要加";")否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“…….lib”
- § 如果下载的OpenCV不是2.4.5版本,请将"XXX245d.lib"中的"245"更改为对应的版本号,例如:下载OpenCV 2.4.0,则统一改为"XXX240d.lib",否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“XXX.lib”
- 为项目的Release配置增加[附加依赖项 Additional Dependencies]:
- opencv_calib3d245.lib
- opencv_contrib245.lib
- opencv_core245.lib
- opencv_features2d245.lib
- opencv_flann245.lib
- opencv_gpu245.lib
- opencv_highgui245.lib
- opencv_imgproc245.lib
- opencv_legacy245.lib
- opencv_ml245.lib
- opencv_objdetect245.lib
- opencv_ts245.lib
- opencv_video245.lib(可根据实际需要删减)*
编译运行下面的例程(需要将lena.jpg文件放在项目目录下
1 #include "stdafx.h" 2 3 #include <opencv2/opencv.hpp> 4 5 using namespace std; 6 using namespace cv; 7 8 int main(int argc, char* argv[]) 9 { 10 const char* imagename = "lena.jpg"; 11 12 //从文件中读入图像 13 Mat img = imread(imagename); 14 15 //如果读入图像失败 16 if(img.empty()) 17 { 18 fprintf(stderr, "Can not load image %s\n", imagename); 19 return -1; 20 } 21 22 //显示图像 23 imshow("image", img); 24 25 //此函数等待按键,按键盘任意键就返回 26 waitKey(); 27 28 return 0; 29 }
显示结果: