VC2008下配置OpenCV
2013-09-23 18:37
375 查看
转自OpenCV China 亲自验证有效
下载OpenCV
从本站下载栏目 http://www.opencv.org.cn/index.php/Download 下载OpenCV for Windows(也即 OpenCV-2.3.1-win-superpack.exe 文件)。
将 OpenCV-2.3.1-win-superpack.exe
解压并放到某个目录下,例如
D:\Program Files\OpenCV2.3.1(无需运行setup.exe,解压则可)。解压后的目录结构如下图。
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
点击看大图
[编辑]
安装CMake(不打算自己编译无需安装)
从 http://www.cmake.org/cmake/resources/software.html 下载Windows (Win32 Installer) 安装。
[编辑]
编译OpenCV(非必需步骤)
[编辑]
用CMake导出VC++项目文件
运行cmake-gui,设置where is the sourcecode路径为OpenCV安装路径(本文档假定安装位置为:
D:\Program Files\OpenCV2.3.1\opencv),并创建子目录
D:\Program Files\OpenCV2.3.1\opencv\build\my,并将cmake的"where to build
the binaries"设置为这个目录。
然后点 configure,在弹出的对话框内选择 Visual
Studio 9 2008。
你可根据你的系统修改选项,修改后再次选择“Congfigure”,完成后选择“Generate”。
(注: 此处Open CV文件放的目录不能包含汉字,否则“Congfigure”和“Generate”无法成功;同时需要关闭已经打开的VS,否则CMake与VS的宏无法配置。 by:Jackyzzy 赵振阳)
![]() ![]() 2.0版本截图仅供参考,点击看大图 | ![]() ![]() 点击看大图 | ![]() ![]() 2.0版本截图仅供参考,点击看大图 |
编译 OpenCV Debug和Release版本库
完成上一步骤后,将在D:\Program
Files\OpenCV2.3.1\opencv\build\my目录下生成OpenCV.sln的VC SolutionFile,请用VC++ 2008 Express打开OpenCV.sln,然后执行如下操作:
在Debug下,选择Solution
Explorer(解决方案资源管理器)里的 Solution OpenCV(解决方案“OpenCV”),点右键,运行"Rebuild
Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
在Release下,选择Solution Explorer里的
Solution OpenCV,点右键,运行"Rebuild
Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
全部运行完毕后,针对你的系统的OpenCV库就生成了。
[编辑]
配置VC
[编辑]
配置include路径
也即告诉VC去什么地方寻找OpenCV的头文件,打开VC,选择菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“包含文件”,包含 D:\Program Files\OpenCV2.3.1\opencv\build\include;D:\Program Files\OpenCV2.3.1\opencv\build\include\opencv;D:\Program Files\OpenCV2.3.1\opencv\build\include\opencv2如果是自己编译的则输入D:\Program Files\OpenCV2.3.1\opencv\build\my\install\include
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
点击看大图
[编辑]
配置lib路径
也即告诉VC去什么地方寻找OpenCV的库文件。在刚才下载的文件OpenCV-2.3.1-win-superpack.exe
里,已经为VC2008和VC2010预先编译好了动态库和静态库。因此我们不需要如早先版本那样,自己用cmake编译OpenCV。
自己编译的库,库目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\my\install\lib
[code](注:由于自己编译成功,lib文件在Debug和Release两个文件中,加载库时需到Debug和Release中, 我配置的库目录为:D:\Program Files\OpenCV2.3.1\opencv\build\my\install\lib\Debug,否则调试时无法进入Open CV代码中。 by:Jackyzzy 赵振阳)
[/code]
32位系统 &
VC2008,库目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc9\lib
32位系统 &
VC2010,库目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc10\lib
64位系统 &
VC2008,库目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\x64\vc9\lib
64位系统 &
VC2010,库目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\x64\vc10\lib
请根据自己的情况四选一,将库目录输入菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“库文件”
。如下图所示:
![]() ![]() 点击看大图 | ![]() ![]() 点击看大图 | ![]() ![]() 点击看大图 |
设置环境变量
刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下,请根据自己情况五选一:自己编译的库,dll目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\my\install\bin
32位系统 &
VC2008,dll目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc9\bin
[code](注:此处环境变量应与上边库目录一致,这样能够调试时能够进入代码,我自己的目录是:D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc9\bin\Debug。 by:Jackyzzy 赵振阳)
[/code]
32位系统 &
VC2010,dll目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc10\bin
64位系统 &
VC2008,dll目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\x64\vc9\bin
64位系统 &
VC2010,dll目录为:
D:\Program Files\OpenCV2.3.1\opencv\build\x64\vc10\bin
由于有些函数需要TBB,所以需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL路径为:
32位系统 & VC2008:
D:\Program Files\OpenCV2.3.1\opencv\build\common\tbb\ia32\vc9
32位系统 & VC2010:
D:\Program Files\OpenCV2.3.1\opencv\build\common\tbb\ia32\vc10
64位系统 & VC2008:
D:\Program Files\OpenCV2.3.1\opencv\build\common\tbb\intel64\vc9
64位系统 & VC2010:
D:\Program Files\OpenCV2.3.1\opencv\build\common\tbb\intel64\vc10
如下图所示将OpenCV和TBB的dll文件所在的目录系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。
![]() ![]() 点击看大图 | ![]() ![]() 点击看大图 |
使用OpenCV 2.3.1编程
打开VC++ 2008Express,创建一个Win32控制台程序helloopencv;
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
点击看大图
选择Solution
Explorer里的opencvhello项目,点击鼠标右键,选择Properties。
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
点击看大图
,在[链接器
LINKER]的[输入INPUT]中,为项目的Debug配置增加 [附加依赖项 Additional
Dependencies]:
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(可根据实际需要删减)注意,请打开了新编辑窗口(即点击了“...”按钮)“附加依赖项”,并一条一条分别加入,一条一行(一个回车),(注意行末不要加";")否则会出现类似以下错误:1>LINK :
fatal error LNK1104: 无法打开文件“…….lib”
如果下载的OpenCV不是2.3.1版本,请将"XXX231d.lib"中的"231"更改为对应的版本号,例如:下载OpenCV
2.4.0,则统一改为"XXX240d.lib",否则会出现类似以下错误:1>LINK :
fatal error LNK1104: 无法打开文件“XXX.lib”
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
点击看大图
为项目的Release配置增加[附加依赖项 Additional
Dependencies]:
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(可根据实际需要删减)*
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
点击看大图
编译运行下面的例程(需要将lena.jpg文件放在项目目录下,即与生成的.exe文件同位置)(这里有误。双击exe的话,图片放在.exe同一文件夹内;按F5直接运行程序的话,lena.jpg要放在helloopencv\helloopencv里)。
#include "stdafx.h" #include using namespace std; using namespace cv; int main(int argc, char* argv[]) { const char* imagename = "lena.jpg"; //从文件中读入图像 Mat img = imread(imagename); //如果读入图像失败 if(img.empty()) { fprintf(stderr, "Can not load image %s\n", imagename); return -1; } //显示图像 imshow("image", img); //此函数等待按键,按键盘任意键就返回 waitKey(); return 0; }
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
程序运行结果图,点击看大图
相关文章推荐
- VC 2008下安装与配置OpenCV2.1
- VC 2008 Express下OpenCV2.0的配置
- opencv2.4.0 + vc express 2008 配置
- VC2008 + Qt 配置OpenCV
- WIN7系统下用VC2008编译OpenCV2.2
- wxWdigets在VC2008下的配置
- VC 2008 Express下安装OpenCV 2.3.0
- “应用程序配置不正确,程序无法启动”详细举例(1)(vc2008 sp1)
- VC2008下安装OpenCV2.3.1的注意事项
- VC 2008 Express下安装OpenCV2.3.1
- OpenCV2.4.5 和VS2008配置(用CMake生成2008 solution)
- VC 2008 Express下安装OpenCV2.3.1
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008、Visual Studio 2010和Visual Studio 2012配置方法详解
- OpenGL在 Visual Studio 2008/2010 和 VC6++ 上面的配置(学习笔记)
- XP下VC2008 Express + DDK Wizard配置WDK驱动开发环境详细分析
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008、Visual Studio 2010和Visual Studio 2012配置方法详解
- VC 2008 Express下安装OpenCV2.3.1
- VC2008入门-环境配置
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008和Visual Studio 2010配置方法详解
- VS 2012 使用OpenCV时配置VC++ 目录