OpenCV 2.3.1/2.4.0在Visual Studio 2008及Visual Studio 2010下安装及配置方法(附HelloWorld)
本文主要记录在Visual Studio 2010里使用OpenCV(Open Source Computer Vision Library)需要进行的配置,首先是几个注意点:
1、OpenCV 2.3.1不支持VC 6.0
2、建议不要自己编译,如果预编译好的库有问题,才考虑重新编译源码
3、需要下载的软件:①Visual Studio 2008 或 Visual Studio 2010;②OpenCV 2.3.1/OpenCV 2.4.0或相关版本;③CMake编译工具(若不编译则无需下载)
在做好上述准备工作之后,下面开始具体的配置过程:
1、安装Visual Studio 2008 或 Visual Studio 2010。这一步具体方法略过,很简单
2、安装OpenCV,打开安装包(如 OpenCV-2.3.1-win-superpack.exe或OpenCV-2.4.0-beta2.exe ),程序会自动解压,假设我们选择解压目录为 D:\Program Files\opencv
3、安装CMake(不打算自己编译则无需安装),注意环境变量的添加
4、编译OpenCV(同3,不编译则跳过此步骤)之“用CMake导出VC++项目文件”:①运行cmake-gui,设置where is the source code路径为OpenCV安装路径(本文档假定安装位置为:D:\Program Files\opencv),并创建子目录D:\Program Files\opencv\build\coridc,并将cmake的”where to build the binaries”设置为这个目录。②然后点 configure,在弹出的对话框内选择 Visual Studio 9 2008 或 Visual Studio 10 2010。③你可根据你的系统修改选项,修改后再次选择“Congfigure”,完成后选择“Generate”。
5、编译OpenCV(同3,不编译则跳过此步骤)之“编译 OpenCV Debug和Release版本库”:①完成上一步骤后,将在D:\Program Files\opencv\build\coridc目录下生成OpenCV.sln的VC Solution File,请用VC打开OpenCV.sln,然后执行②和③;②在Debug下,选择Solution Explorer(解决方案资源管理器)里的 Solution OpenCV(解决方案“OpenCV”),点右键,运行”Rebuild Solution”,如编译无错误,再选择INSTALL项目,运行”Build”;③在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行”Rebuild Solution”;如编译无错误,再选择INSTALL项目,运行”Build”。全部运行完毕后,针对你的系统的OpenCV库就生成了。
6、设置环境变量(可能需要注销用户或重启计算机),目的是将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下,请根据自己情况五选一:
自己编译的库,dll目录为:D:\Program Files\opencv\build\coridc\install\bin
32位系统 & VC2008,dll目录为:D:\Program Files\opencv\build\x86\vc9\bin
32位系统 & VC2010,dll目录为:D:\Program Files\opencv\build\x86\vc10\bin
64位系统 & VC2008,dll目录为:D:\Program Files\opencv\build\x64\vc9\bin
64位系统 & VC2010,dll目录为:D:\Program Files\opencv\build\x64\vc10\bin
由于有些函数需要TBB,所以需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL路径为:
32位系统 & VC2008:D:\Program Files\opencv\build\common\tbb\ia32\vc9
32位系统 & VC2010:D:\Program Files\opencv\build\common\tbb\ia32\vc10
64位系统 & VC2008:D:\Program Files\opencv\build\common\tbb\intel64\vc9
64位系统 & VC2010:D:\Program Files\opencv\build\common\tbb\intel64\vc10
7.1、设置编译路径(lib路径-告诉VC去什么地方寻找OpenCV的库文件)-针对Visual Studio 2008:工具->选项->VC++目录->平台,32位选Win32,64位则选x64,接着“在显示以下内容的目录”下拉框选择“包含文件”,点击“新行”图标,分别新建3条路径:D:\Program Files\opencv\build\include,D:\Program Files\opencv\include\opencv,D:\Program Files\opencv\include\opencv2;然后选择“库文件”,新建一条路径:D:\Program Files\opencv\build\x86\vc9\lib(32位系统)或D:\Program Files\opencv\build\x64\vc9\lib(64位系统);
7.2、设置编译路径(lib路径-告诉VC去什么地方寻找OpenCV的库文件)-针对Visual Studio 2010:新建一个项目(每新建一个项目都需要进行以下的配置才能编译OpenCV里的函数),在“解决方案资源管理器”窗口下,右击“属性”,若是32位系统则在“平台”框上选择“Win32”,若是64位系统则选择“x64”,需要更改则点击“配置管理器”,在“活动解决方案平台”下拉框新建一个对应的平台。接着,配置属性->VC++目录->包含目录->编辑,然后新建以下3条路径:D:\Program Files\opencv\build\include,D:\Program Files\opencv\build\include\opencv,D:\Program Files\opencv\build\include\opencv2;然后选择“库文件”,新建一条路径:D:\Program Files\opencv\build\x86\vc9\lib(32位系统)或D:\Program Files\opencv\build\x64\vc9\lib(64位系统);
8、配置include路径(告诉VC去什么地方寻找OpenCV的头文件):在“解决方案资源管理器”中,①选择项目右键->属性->配置属性->链接器->输入,配置下拉框中选择Debug,编辑“附加依赖项”,并复制以下动态链接库文件:
| OpenCV 2.3.1 | OpenCV 2.4.0 |
|
opencv_calib3d231d.lib
opencv_contrib231d.lib opencv_core231d.lib opencv_features2d231d.lib opencv_flann231d.lib opencv_gpu231d.lib opencv_highgui231d.lib opencv_imgproc231d.lib opencv_legacy231d.lib opencv_ml231d.lib opencv_objdetect231d.lib opencv_ts231d.lib opencv_video231d.lib |
opencv_calib3d240d.lib
opencv_contrib240d.lib opencv_core240d.lib opencv_features2d240d.lib opencv_flann240d.lib opencv_gpu240d.lib opencv_highgui240d.lib opencv_imgproc240d.lib opencv_legacy240d.lib opencv_ml240d.lib opencv_objdetect240d.lib opencv_ts240d.lib opencv_video240d.lib |
②配置下拉框中选择Release,编辑“附加依赖项”,并复制以下动态链接库文件:
| OpenCV 2.3.1 | OpenCV 2.4.0 |
|
opencv_calib3d231.lib;
opencv_contrib231.lib opencv_core231.lib opencv_features2d231.lib opencv_flann231.lib opencv_gpu231.lib opencv_highgui231.lib opencv_imgproc231.lib opencv_legacy231.lib opencv_ml231.lib opencv_objdetect231.lib opencv_ts231.lib opencv_video231.lib; |
opencv_calib3d240.lib;
opencv_contrib240.lib opencv_core240.lib opencv_features2d240.lib opencv_flann240.lib opencv_gpu240.lib opencv_highgui240.lib opencv_imgproc240.lib opencv_legacy240.lib opencv_ml240.lib opencv_objdetect240.lib opencv_ts240.lib opencv_video240.lib |
9、HelloWorld测试各项配置:创建一个Win32控制台程序,假设项目名称设置为HelloCV,复制以下代码:
#include "StdAfx.h" #include <string> #include <iostream> #include #opencv2\core\core.hpp# #include #opencv2\highgui\highgui.hpp# using namespace cv; using namespace std; int mainHelloCV() { string imageName = "lena.jpg"; //读入图像 Mat img = imread(imageName, CV_LOAD_IMAGE_COLOR); //如果读入图像失败 if (img.empty()) { cout< <"Could not open or find the image!"<<endl; return -1; } //创建窗口 namedWindow("lena"); //显示图像 imshow("lena", img); //等待按键,按键盘任意键返回 waitKey(); return 0; } |
关于此段代码的讲解将会在下一讲中进行;
The End。
近期评论