利用cmake工具进行OPENCV3.1.0+opencv_contrib扩展编译

为什么要扩展编译?

   1)由于opencv功能越来越臃肿,opencv3改变了项目架构,使用内核+插件的架构形式。在Github中,除了存放正式版OPENCV的主仓库和新增加的opencv_extra仓库外,还添加了一个opencv_contrib的全新仓库,功能有:脸部识别、文本识别、边缘检测、追踪算法等,里面存放的是功能未稳定的代码,如果需要使用这些功能,就需要重新进行编译。

2)官方的opencv3.1.0需要在x64上运行,cmake后才可以在x86上运行;

3)通过cmake之后,可以看到源码。

  


 opencv3.1.0下载地址:官网。

 opencv_contrib-master下载地址:github上。http://github.com/itseez/opencv_contrib

 cmake文件下载地址:官网3.5.2.下载解压即可使用cmake-gui.exe(cmake-3.5.2-win32-x86

 硬件配置:win7,64位,vs2015,opencv310

1、下载以上软件

2、opencv安装:解压即可。cmake-gui.exe也是通过解压即可。

3、打开cmake-gui.exe,进入如下界面,填写相应的参数,包括Opencv源码目录和opencv.sln工程的导出目录,开始导出opencv.sln工程。

我的分别是:D:/software/opencv310/opencv/sources.    D:/software/opencv310/MYBUILD

4、点击configure,选择编译器,我选择的是visual studio 14 2015 win64编译器。点击finish。

     在过程中可能会出现以下问题:

    1)cmake warning at cmake/opencvutils.cmake:872(message):Download :load copy of opencv_ffmpeg.dll has invalid MDS  hash:96b7a1645c95cd28b7c534a03149c270   call stack  ...等等。这可能是由于下载网速的问题

   2)同样也会出现:ippcv等问题

    解决方案是:在网络上下载好opencv_ffmpeg.dll以及opencv_ffmpeg_64.dll以及ippicv_windows_20151201.zip放入相应的文件夹。具体放入哪个文件夹由于在configure过程中已经有相应名称文件存在,只要将下载的文件覆盖原文件即可。

5、第一次编译完成后,需要将额外的opencv_contrib加入到工程中第二次编译,在配置表中找到“OPENCV_EXTRA_MODUALS_PATH”,设置其参数值为opencv_contrib源码包中的modules目录,我的目录是:D:\software\opencv310\opencv_contrib-master\modules,设置完成后,点击configure进行第二次编译。

6、第二次编译后,点击generate,发现生成了OPENCV_sln工程文件。

7、接下来需要生成相应的lib以及dll文件等:打开OPENCV_sln文件,选择debug x64环境,并选择重新生成解决方案,生成之后,找到CMakeTargets中的INSTALL,点击右键-仅用于项目-仅生成INSTALL,完成后多了一个install文件夹。

8、release版本同样进行相同的操作。至此,所有的编译以及生成工作完成。

9、接下来需要重新配置环境以debug版本为例:

     1)用户变量配置:D:\software\opencv310\MYBUILD\install\x64\vc14\bin

      2)重新配置项目环境:

      包含目录:D:\software\opencv310\MYBUILD\install\include;D:\software\opencv310\MYBUILD\install\include\opencv;

      D:\software\opencv310\MYBUILD\install\include\opencv2;

     库目录:D:\software\opencv310\MYBUILD\install\x64\vc14\lib;D:\software\opencv310\MYBUILD\install\x64\vc14\staticlib

    3)附加依赖库:

opencv_aruco310d.lib 
opencv_bgsegm310d.lib 
opencv_bioinspired310d.lib 
opencv_calib3d310d.lib 
opencv_ccalib310d.lib 
opencv_core310d.lib 
opencv_datasets310d.lib 
opencv_dnn310d.lib 
opencv_dpm310d.lib 
opencv_face310d.lib 
opencv_features2d310d.lib 
opencv_flann310d.lib 
opencv_fuzzy310d.lib 
opencv_highgui310d.lib 
opencv_imgcodecs310d.lib 
opencv_imgproc310d.lib 
opencv_line_descriptor310d.lib 
opencv_ml310d.lib 
opencv_objdetect310d.lib 
opencv_optflow310d.lib 
opencv_photo310d.lib 
opencv_plot310d.lib 
opencv_reg310d.lib 
opencv_rgbd310d.lib 
opencv_saliency310d.lib 
opencv_shape310d.lib 
opencv_stereo310d.lib 
opencv_stitching310d.lib 
opencv_structured_light310d.lib 
opencv_superres310d.lib 
opencv_surface_matching310d.lib 
opencv_text310d.lib 
opencv_tracking310d.lib 
opencv_ts310d.lib 
opencv_video310d.lib 
opencv_videoio310d.lib 
opencv_videostab310d.lib 
opencv_xfeatures2d310d.lib 
opencv_ximgproc310d.lib 
opencv_xobjdetect310d.lib 
opencv_xphoto310d.lib 
ippicvmt.lib
至此,完成全部工作。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值