首页 > OpenCV > OpenCV 2.3.1/2.4.0在Visual Studio 2008及Visual Studio 2010下安装及配置方法(附HelloWorld)

OpenCV 2.3.1/2.4.0在Visual Studio 2008及Visual Studio 2010下安装及配置方法(附HelloWorld)

2012年4月15日 发表评论 阅读评论




本文主要记录在Visual Studio 2010里使用OpenCV(Open Source Computer Vision Library)需要进行的配置,首先是几个注意点:

1、OpenCV 2.3.1不支持VC 6.0

2、建议不要自己编译,如果预编译好的库有问题,才考虑重新编译源码

3、需要下载的软件:①Visual Studio 2008Visual 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。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.