为Visual Studio配置OpenCV

配置的环境是:
Windows 8, Visual Studio 2012
openCV_2.47

下面开始详细地讲解整个配置的过程:
步骤1: 首先需要下载openCV,这是Sourceforge的链接:http://sourceforge.net/projects/opencvlibrary/

1.png

步骤2: 安装openCV到自定义目录下,安装的过程中系统会自动设置openCV的环境变量。

步骤3: 安装完毕后需要手工设置一下环境变量,把D:\CodeLibrary\opencv \build\x64\vc11\bin添加到系统变量-->Path中,其中D:\CodeLibrary\opencv是openCV的安装目 录,这里根据自己的目录进行修改。另外,如果是32位的操作系统就把x64改成x86。
2.png

步骤4: 打开Visual Studio 2012创建一个Visual C++的一个新的空项目。

3.png

步骤5: 右键点击 [解决方案资源管理器] 中的解决方案结点,选择 [配置管理器]。


4.png

步骤6: 在 [活动解决方案平台(P)] 中选择x64(因为我用的是64位的操作系统),假如没有x64可选则选择<新建 ...>,在 [键入或选择新平台(P)] 中选择x64然后点 [确定],然后关闭 [配置管理器]


5.png

步骤7:右键点击新建的项目,选择 [属性],打开属性窗口,然后在 [配置属性] 中选择 [VC++目录],编辑右边的 [包含目录], 把D:\CodeLibrary\opencv\build\include,D:\CodeLibrary\opencv\build\include \opencv,D:\CodeLibrary\opencv\build\include\opencv2 这三个目录添加进去。这样用include添加openCV的头文件的时候才不会出错找不到文件。


6.png
7.png

步骤8:编辑右边的 [库目录],把openCV库函数的路径 D:\CodeLibrary\opencv\build\x64\vc11\lib添加进去(注意到Visual Studio 2012需要使用vc11这个目录,而不再是vc10,而且对应是64位的操作系统所以选择x64这个目录)。让Visual Studio在编译程序的时候,能够搜索到这个目录以调用openCV的函数 。
8.png

步骤9:选择左边的 [链接器],再选择 [输入],修改右边的 [附加依赖项] 把D:\CodeLibrary \opencv\build\x64\vc11\lib目录下的所有以*.lib为扩展名的文件名添加进去,以添加lib文件(步骤8是添加库函数的搜索 目录,这一步是添加具体的lib文件。)在这里以d结尾的文件对应debug模式,而不是以d结尾的文件对应release模式,为了方便起见,我把它们 全部加进去了。

步骤10:现在已经完成了openCV的配置,运行一下一个简单的读图像的程序作为测试,可以看到图像能成功显示,按任意键可结束程序。


9.png

附上用于测试的代码:

include<stdio.h>

include"highgui.h"

int main(int argc, char** argv){
IplImage *img = cvLoadImage("E:\2.jpg"); //cvLoadImage()的参数为图片的完整路径名
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
return 0;
}

相关的lib文件名:
opencv_calib3d249.lib;opencv_calib3d249d.lib;opencv_contrib249.lib;opencv_contrib249d.lib;opencv_core249.lib;opencv_core249d.lib;opencv_features2d249.lib;opencv_features2d249d.lib;opencv_flann249.lib;opencv_flann249d.lib;opencv_gpu249.lib;opencv_gpu249d.lib;opencv_highgui249.lib;opencv_highgui249d.lib;opencv_imgproc249.lib;opencv_imgproc249d.lib;opencv_legacy249.lib;opencv_legacy249d.lib;opencv_ml249.lib;opencv_ml249d.lib;opencv_nonfree249.lib;opencv_nonfree249d.lib;opencv_objdetect249.lib;opencv_objdetect249d.lib;opencv_ocl249.lib;opencv_ocl249d.lib;opencv_photo249.lib;opencv_photo249d.lib;opencv_stitching249.lib;opencv_stitching249d.lib;opencv_superres249.lib;opencv_superres249d.lib;opencv_ts249.lib;opencv_ts249d.lib;opencv_video249.lib;opencv_video249d.lib;opencv_videostab249.lib;opencv_videostab249d.lib

备注:新手在vs下配置opencv 开发环境可能会遇到一些问题,按教程一步一步慢慢第来(网上有很多相关教程,例如csdn博客、博客园中的技术文档)。
当然如果有Linux基础,在Linux操作系统下配置可省去很所麻烦。(本人比较推荐用Linux,看个人喜好吧)

推荐阅读更多精彩内容