2024年5月6日发(作者:)

OpenCV配置

一、配置include路径

(告诉VC去什么地方寻找OpenCV的头文件)

打开VS2008,“工具”->“选项”->“项目和解决方案”->“VC++目录”->“包含文件”,添加

D:opencvbuildinclude;

D:opencvbuildincludeopencv;

D:opencvbuildincludeopencv2

二、配置lib路径

(告诉VC去什么地方寻找OpenCV的库文件)

在OpenCV文件里,已经为VC2008和VC2010预先编译好

了动态库和静态库。不需要自己用cmake编译OpenCV。

“工具”->“选项”->“项目和解决方案”->“VC++目录”->“库文件”

32位系统 & VC2008,库目录为:D:opencvbuildx86vc9lib

32位系统 & VC2010,库目录为:D:opencvbuildx86vc10lib

64位系统 & VC2008,库目录为:D:opencvbuildx64vc9lib

64位系统 & VC2010,库目录为:D:opencvbuildx64vc10lib

三、设置环境变量

(告诉VC去什么地方寻找OpenCV的dll文件)

刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入环境变量Path(系统属

性->高级->环境变量)。dll文件目录如下,请根据自己情况五选一:

32位系统 & VC2008,dll目录为:D:opencvbuildx86vc9bin

32位系统 & VC2010,dll目录为:D:opencvbuildx86vc10bin

64位系统 & VC2008,dll目录为:D:opencvbuildx64vc9bin

64位系统 & VC2010,dll目录为:D:opencvbuildx64vc10bin

由于有些函数需要TBB,所以需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL

路径为:

32位系统 & VC2008:D:opencvbuildcommontbbia32vc9

32位系统 & VC2010:D:opencvbuildcommontbbia32vc10

64位系统 & VC2008:D:opencvbuildcommontbbintel64vc9

64位系统 & VC2010:D:opencvbuildcommontbbintel64vc10

(可能需要注销或重启后生效)

四、使用OpenCV编程

1、打开VC++ 2008,创建一个Win32控制台程序hellowopencv;选择Solution Explorer里

的hellowopencv项目,点击鼠标右键,选择Properties。

2、在[链接器 LINKER]的[输入INPUT]中,为项目的Debug配置增加 [附加依赖项

Additional Dependencies]:

opencv_;opencv_;opencv_;opencv_f

;opencv_;opencv_;opencv_

b;opencv_;opencv_;opencv_;opencv_objdete

;opencv_;opencv_

(根据需要删减)

注意,打开新编辑窗口(点击“...”按钮)“附加依赖项”,一条一行(一个回车,不要分号)否

则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“…….lib”

3、为项目的Release配置增加[附加依赖项 Additional Dependencies]:

opencv_;opencv_;opencv_;opencv_features2

;opencv_;opencv_;opencv_;opencv_img

;opencv_;opencv_;opencv_;openc

v_;opencv_

(根据需要删减)

4、编译运行下面的例程(将放在生成的.exe文件同位置)。

#include "stdafx.h"

#include

using namespace std;

using namespace cv;

int _tmain(int argc,char* argv[])

{

}

const char* imagename ="";

Mat img = imread(imagename);//从文件中读入图像

if(())//如果读入图像失败

{

}

imshow("image", img);//显示图像

waitKey();//此函数等待按键,按键盘任意键就返回

return 0;

fprintf(stderr,"Can not load image %sn", imagename);

return -1;