【OpenCV3】OpenCV3.2.0在VS2013环境下Cmake编译与快速配置

49 篇文章 32 订阅
38 篇文章 16 订阅

近年来随着人工智能和机器视觉的日益火爆,OpenCV作为机器视觉领域内的利器也得到了长足和快速的发展。作为OpenCV的忠实粉丝,一直使用的是OpenCV2的版本,但是OpenCV3相对于OpenCV2提供了不少新的特性,在加速等性能上作了很多优化,并且经过了Alpha、Beta、3.1.0几个版本后,至今已经更新到了3.2.0版本,稳定性上也已经做得很好,所以,从今年开始,决定在以后的开发中使用OpenCV3的版本。

但是,官网(opencv.org)目前提供的安装包只提供了vs2015(vc14)的编译版本。所以,若想在其他编译环境(如vs2010、vs2012、vs2013等)下使用,需要下载opencv3.2.0的源码,在cmake下自行编译。

先说明一下,我是在64位WIN7+VS2013环境下使用CMake3.7.2进行编译的,在其他Windows版本、其他VS版本、其他OpenCV版本和其他CMake版本下的编译过程都是类似的。

具体的编译和配置步骤如下:

1、在官网opencv.org下载OpenCV3.2.0源码(Sources)。



2、将源码压缩包解压到编译目录下,并在同一目录下新建build_64和msvc_2013两个文件夹,前者作为Cmake编译目录,后者作为编译后的安装目录。



3、打开CMake,开启编译选项的配置。设置好source code目录和build目录,点击Configure按钮,选择VS版本,这里选择的是win64 VS2013,选择本地编译器作为默认编译器,点finish,即开始配置过程。(配置过程需要一段时间,可以先干点其他的,等待初步配置完成,注意保证网络的畅通,Cmake的过程中需要下载第三方库)。




4、初步配置完成,如下图所示。需要修改一下相关选项,这里只需要修改两个地方,其他默认即可,一是将CMAKE_INSTALL_PREFIX修改成之前创建的msvc2013_64目录,二是点击add Entry按钮,添加CMAKE_DEBUG_POSTFIX选项,值设为“d”,用于区分debug和release版本,否则编译安装时debug版本会被release版本覆盖。设置好后,再点击configure,配置完成后点击“generate”生成编译工程。







5、VS2013下编译与安装。经过上一步后,我们在build_64目录下即可看到CMake生成的编译工程,如下图所示。

打开opencv.sln,解析完成后,先在Debug下对工程进行编译(BUILD->Build Solution),编译完成后,将INSTALL设置为启动工程(在INSTALL右键->Set as startup project),然后进行安装(BUILD->Project Only->Build Only Install);再在Release下进行编译和安装(和Debug类似)。




6、添加环境变量。安装完成后,我们在vs2013_64目录下即可看到一个include文件夹和x64文件夹,我们在x64目录下逐级找到bin文件夹,将bin的路径添加到系统的环境变量里,如下图所示。




7、创建vs工程属性配置文件。为了方便避免opencv属性配置时的各种麻烦,这里采用创建属性配置文件的方式,将如下文件保存到一个.props类型的文件中(如opencv3.2.0.props),放置到一个方便的位置,使用到opencv时,只需要将其添加到工程属性单下即可(在Property Manager窗口中在工程上右键->Add Existing Property Sheet,找到opencv3.2.0添加即可)。注意:额外依赖项(AdditionalDependencies)是添加编译安装目录里lib文件夹下所有的Debug库和Release库,要保证输入的文件名正确,否则编译会报错


<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <IncludePath>D:\Libraries\OpenCV3.2.0\msvc2013_64\include;$(IncludePath)</IncludePath>
    <LibraryPath Condition="'$(Platform)'=='X64'">D:\Libraries\OpenCV3.2.0\msvc2013_64\x64\vc12\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <Link Condition="'$(Configuration)'=='Debug'">
      <AdditionalDependencies>opencv_calib3d320d.lib;opencv_core320d.lib;
	  opencv_features2d320d.lib;opencv_flann320d.lib;opencv_highgui320d.lib;
	  opencv_imgcodecs320d.lib;opencv_imgproc320d.lib;opencv_ml320d.lib;
	  opencv_objdetect320d.lib;opencv_photo320d.lib;opencv_shape320d.lib;
	  opencv_stitching320d.lib;opencv_superres320d.lib;opencv_video320d.lib;
	  opencv_videoio320d.lib;opencv_videostab320d.lib;opencv_viz320d.lib;
	  %(AdditionalDependencies)</AdditionalDependencies>
    </Link>
    <Link Condition="'$(Configuration)'=='Release'">
      <AdditionalDependencies>opencv_calib3d320.lib;opencv_core320.lib;
	  opencv_features2d320.lib;opencv_flann320.lib;opencv_highgui320.lib;
	  opencv_imgcodecs320.lib;opencv_imgproc320.lib;opencv_ml320.lib;
	  opencv_objdetect320.lib;opencv_photo320.lib;opencv_shape320.lib;
	  opencv_stitching320.lib;opencv_superres320.lib;opencv_video320.lib;
	  opencv_videoio320.lib;opencv_videostab320.lib;opencv_viz320.lib;
	  %(AdditionalDependencies)</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>



自此,大功告成!可以拿OpenCV3中图片的读取和保存进行测试。


2017.03.30

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值