VS 2008 和 OpenCV 2.0 环境搭配
前几天,老大给我 OpenCV 的资料,让咱几个先学着,说是可能会有个 OpenCV 的项目要做,
呵呵,自然,我们又是一番学习咯,一开始当然就是搭环境咯,
其实 OpenCV 和 VS 2008 的集成开发环境是非常容易搭建的,
在网上资料也有很多很多,而我这里也只是拿着别个的东西整理一下而已,
这一次,由于搭配环境是没什么技术含量的事情,所以,并不会使用过多的文字来描述整个过程,
反而我选择以贴图片的形式提供信息,下面为了介绍详细同时顾及到生手的缘故,将会贴出比较多的图片,
有一些图片也是废话类型,有反感者还请见谅。
我当前的环境是 Windows 7 旗舰版,VC 6.0 , VS 2008 , VS 2010 均有安装,
然后 OpenCV 的话,选择的是 OpenCV 2.0 。
首先是需要安装两个东西,
一:OpenCV-2.0.0a-win32
二:Cmake-2.6.4-win32-x86
其中安装顺序的话,先安装 OpenCV 2.0 然后再安装 cmake ,
安装时,我选择 OpenCV 2.0 的安装路径为:C:\OpenCV2.0 ,
首先,打开 VS 2008 ,再从 <工具 –> 选项> 再到 <项目和解决方案 –> VC++ 目录>
添加包含文件:
添加库文件:
添加源文件:
完成上述步骤后便是打开 Cmake 进行配置了:
运行后设置两个目录:
首先 Source Code 目录代表的是你安装 OpenCV 是选择的路径,我安装在 C 盘根目录下,
然后 Build The Binaries 目录则代表的是后面将使用 VS 2008 来生成的目录,这个目录中间不能加中文路径,
这里我选择的路径是:C:/Users/XiaoZhen/XiaoZhen/OpenCV
选择以后,单击 Configure 按钮来选择合适的 VS 版本,这里选择 VS 2008 即可。
然后单击 Finish 按钮退出选择 VS 版本对话框。此时再次单击 Configure 按钮执行配置操作,最后再单击 Generate 执行生成操作。
执行生成操作后便可以关闭 Cmake 了。
下面就是找到在 Cmake 中一开始设置的 Build The Binaries 目录,在该目录下,你可以发现有一个 VS 2008 的解决方案,
使用 Visual Studio 2008 打开这个 OpenCV.sln 的项目,
执行下面的几个操作:
选择 Debug 版本对 OpenCV 进行编译,编译成功后还需要选择 Debug 版本单独对 INSTALL 这个项目编译,
选择 Release 版本对 OpenCV 进行编译,编译成功后还需要选择 Release 版本单独对 INSTALL 这个项目编译。
如果前面对 VS 2008 下 VC++ 目录下的一些设置没有出错的话,那么编译是可以成功的,
如果编译失败,请重新配置 VS 2008 下 VC++ 目录,
无论是 Debug 还是 Release 模式下,均需要对 INSTALL 项目进行单独的编译:
全部编译成功后,关闭 VS 2008 便可以执行下一步操作了,
然后还是找到在 Cmake 中一开始设置的 Build The Binaries 目录,
在这个目录下,你可以发现刚才编译后生成的 Bin 文件夹。
笔者的目录为:C:\Users\XiaoZhen\XiaoZhen\OpenCV\bin
需要将这个目录设置为系统环境变量。
配置好环境变量后再次打开 VS 2008,
再从 <工具 –> 选项> 再到 <项目和解决方案 –> VC++ 目录>
添加一个包含文件的目录进去:
再添加一个库文件目录进去:
完成了上面的步骤后,基本上 VS 2008 和 OpenCV 的集成开发环境也就搭好了。
下面呢则是通过编写一个所谓的 HelloWorld 来验证环境。
打开 VS 2008 新建项目:
然后打开项目属性:<项目> –> <OpenCVHello 属性> –> <配置属性> –> <链接器> –> <输入>
为 Debug 平台添加三个附加依赖项:
cxcore200d.lib
cv200d.lib
highgui200d.lib
为 Release 平台添加三个依赖项:
cxcore200.lib
cv200.lib
highgui200.lib
在上面标记的文件中添加如下的代码并将 BoyXiao.jpg 这张图片放在项目下即可:
#include "stdafx.h" #include "highgui.h" int _tmain(int argc, _TCHAR* argv[]) { const char* imagename = "BoyXiao.jpg"; cv::Mat img = cv::imread(imagename); if(img.empty()) { fprintf(stderr, "加载失败%s\n", imagename); return -1; } if( !img.data) { return -1; } cv::namedWindow("image", CV_WINDOW_AUTOSIZE); cv::imshow("image", img); cv::waitKey(); return 0; }
下面就是检验成果的时候了,按 F5 调试执行:
至此整个环境搭配的过程完成。
2010 年 10 月 22 日