OpenCV学习笔记之环境配置(VS2012+OpenCV3.1.0+SURF)

来源:互联网 发布:网络主播须实名认证 编辑:程序博客网 时间:2024/05/13 09:29

  开始学习OpenCV啦,万事开头难,最重要也是最基础的一步就是搭建环境,从网上找了些教程来看,终于成功搭建起了环境,有些注意的地方,需要记下来,好记性不如烂笔头嘛。

  首先,要先下载OpenCV,从sourceforge下载的最新版本3.1.0的OpenCV(OpenCV3.1.0下载地址),这个版本里默认只有vc12(Visual Studio 2013)和vc14(Visual Studio 2015)的编译运行环境,并没有VS2008和VS2012的编译运行环境(补充下,vc8 = Visual Studio 2005,vc9 = Visual Studio 2008,vc10 = Visual Studio 2010,vc11 = Visual Studio 2012,vc12 = Visual Studio 2013,vc14 = Visual Studio 2015而我的机器上只装了VS2008和VS2012,为了在VS2008或VS2012使用OpenCV3.1.0开发,就只有重新用VS2008或VS2012编译源码得到编译运行环境。

  OpenCV 3.0后就没有包含SIFT和SURF等特征点检测库了,还需要单独下载并且配置,从opencv_contrib处下载opencv_contrib并解压,里面包含SIFT和SURF等东东。

  要编译OpenCV,就又下了cmake(cmake下载地址),我下的是最新版本的3.5.2的zip包,运行cmake-gui.exe,然后选择Where is the source code和Where to build the binaries,点击Configure,选择Visual Studio 11 2012,然后点击Finish,为了将opencv_contrib包含进去,在列表中选中OPENCV_EXTRA_MODULES_PATH并选择opencv_contrib解压出来主目录下的modules目录(比如G:\opencv\opencv_contrib-master\modules,这里有个操蛋的BUG,不能直接在OPENCV_EXTRA_MODULES_PATH后面的编辑框里粘贴路径,而要点击后面的小按钮,弹出选择目录对话框,输入或者选择目录确定后才行,否则cmake运行要报错),再点击Configure,然后点击Generate,就会在指定的位置生成VS2012工程,用VS2012打开OpenCV.sln,选择ALL_BUILD工程编译Debug和Release即可(注意,编译的时候还需要用到cmake,所以不要以为cmake只是生成代码,生成完了就可以删掉,否则会报“error MSB6006: “cmd.exe”已退出,代码为 3”这样的错误)。

  最先我选择的是生成VS2008的工程,但是用VS2008编译时,先报了找不到stdint.h,解决后,又提示stl vector的错误,不知道后面还有多少错误,干脆放弃使用VS2008,直接用VS2012来试试。

  

  编译后,在OpenCV.sln同级目录下生成bin和lib目录,里面又分为Debug和Release目录,分别是生成的Debug和Release版本的运行环境(dll和pdb文件)以及链接文件(lib文件)。

  新建测试工程就不说了,直接简单点说在VS2012里配置编译和运行环境。VS2012里的工具-选择-项目和解决方案-VC++目录里已经不能设置相应目录了。需要随便打开一个工程,然后切换到属性管理器,双击Debug | Win32下的Microsoft.Cpp.Win32.user,在弹出的对话框里的VC++目录里进行设置,包含目录里添加三个(G:\opencv\build\include、G:\opencv\build\include\opencv、G:\opencv\build\include\opencv2。如果要使用SFIT或SURF等,还需要添加G:\opencv\opencv_contrib-master\modules\xfeatures2d\include、G:\opencv\opencv_contrib-master\modules\xfeatures2d\include\opencv2和G:\opencv\opencv_contrib-master\modules\xfeatures2d\include\opencv2\xfeatures2d这三个目录),库目录设置两个(G:\opencv\build_vc11\lib\Debug、G:\opencv\build_vc11\lib\Release),包括Debug和Release版本的。然后切换到链接器-输入目录下,添加34个lib文件(Debug和Release分别17个,在CMD下切换到相应目录用dir *.lib列出来,然后选中、复制、粘贴即可。如果使用opencv_contrib,则分别是41个lib文件,一共是82个lib文件)。这样设置后,VS2012即可正常使用OpenCV3.1.0进行编译了。

  编译通过了,生成了exe,但还无法运行,因为找不到相应的dll。把Debug和Release的dll目录添加到path中即可(G:\opencv\build_vc11\bin\Debug和G:\opencv\build_vc11\bin\Release)。

  至此,环境配置就算完成,仔细回顾,也没什么难的,只是没有操作过,没有经验,总有点怕怕的。只是简单的记录了下步骤,详细完整的步骤网上很多,我就没有赘述,下面列出我参考过的网址。

  OpenCV3.1.0下载地址

  cmake下载地址

  安装opencv3.0.0与配置Visual studio 2008

  VS2010平台下OpenCV编译和安装

  【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

  【OpenCV入门指南】第一篇 安装OpenCV

1 1