zoukankan      html  css  js  c++  java
  • wiin10下VS2015+opencv3.4.0-extra_modules+CMake配置

     因为opencv3.x中去除了opencv2.x中不稳定的模块,所以要想在opencv3中用扩展contrib模块就要自己使用Cmake编译了,因为要用到sift/surf算法,但是3.0以后这些算法都放到了在xfeacture模块中,并不在主模块中,于是我就开始了艰难的配置过程。。网上有很多教程,但在我原先的opencv3.4.0已有的情况下,没有编译成功。遂决定从头来一把,从opencv3.4的源码下载开始。因此建议,如果在过程中遇到问题的童鞋,如果实在无法解决,就重新按照此教程,老老实实从头来一遍。
    重要建议:从以下网址下载opencv源代码和扩展模块源代码(一定要从下面链接下载)。不要下载编译好的cv3.0,那样是没法编译通过的。下面的链接可以下载不同版本的,根据自己的需求来下载。

    1、如果环境跟我的一样可以考虑下载下面的编译好的install.                        

    https://pan.baidu.com/s/1Q4NNXIDsxE2TtQY9X-LeHw
    提取码:nbgv
    这个链接是编译好的install:环境是vs2015+opencv3.4.0

    2、接下来走一遍整个编译过程

    step 1:下载源码

                   opencv  https://github.com/opencv/opencv/releases (各个版本都有)

                   opencv_contrib https://github.com/opencv/opencv_contrib/releases (各个版本都有)

                   cmake:https://cmake.org/download/

    注意版本要一致。

    step2:使用cmake进行开始编译

    cmake随便下载一个版本的都可以,安装也是傻瓜式的安装模式,只是要特别注意一下系统路径的选择。

     将下载的opencv和opencv_contrib进行解压后,在你想要安装的盘里面新建一个文件夹,在这个文件夹里面新建两个文件夹分别为build和source,前者主要用来存放编译时生成的一些文件,后者主要用来存放opencv和扩展模块的源代码。

    开始编译,添加文件。where is the source code:放源代码,路径如图。
    where to build the binaries:生成的代码放置位置,路径如图

    然后点击“configure”按钮,弹出以下窗口这里写图片描述
    选择你所用的编译器(必须要是10以后的,亲测vs10不成功,然后才换的VS13)。
    然后点击“finish”就开始生成了,刚开始过程比较慢,要保持网络良好,因为过程会下载一些东西,尤其是ippicv_windows_20151201.zip,如果下载失败会报错,继续configure。

    添加找到OPENCV_EXTRA_MODULES_PATH,后面添加路径D:opencv3sourceopencv_contribmodules,精确到modules。一次之后如果还有红色的块,继续configure,知道全部变白为止。
    然后点击Generate,回提示Generate Done。

     

    到这里就已经成功了一半了。

    step3、开始在vs2015上进行编译了。找到build文件夹里面的OpenCV.sln,双击打开。

    找到CMakeTargets下的INSTALL,在Debug和Release下分别右键生成即可。这个过程功能需要一段时间30min左右。

    完成后会在build这个文件夹里面出现install文件,这个就是最终的文件

    step4、开始在vs2015中配置opencv工程属性

          在配置之前需要先对C:opencv3uildinstallx64vc14in添加系统环境变量,网上资料很多。

          然后用vs2015打开opencv工程:打开属性管理器,双击图中Microsoft.Cpp.Win64.use进行配置。

    可执行文件目录:C:opencv3uildinstallx64vc14in
    包含目录:
    C:opencv3uildinstallinclude
    C:opencv3uildinstallincludeopencv
    C:opencv3uildinstallincludeopencv2
    库文件目录:C:opencv3uildinstallx86vc12lib

    opencv_aruco340d.lib
    opencv_bgsegm340d.lib
    opencv_bioinspired340d.lib
    opencv_calib3d340d.lib
    opencv_ccalib340d.lib
    opencv_core340d.lib
    opencv_core340.lib
    opencv_datasets340d.lib
    opencv_dnn340d.lib
    opencv_dpm340d.lib
    opencv_face340d.lib
    opencv_features2d340d.lib
    opencv_features2d340.lib
    opencv_flann340d.lib
    opencv_highgui340d.lib
    opencv_imgcodecs340d.lib
    opencv_imgproc340d.lib
    opencv_line_descriptor340d.lib
    opencv_ml340d.lib
    opencv_objdetect340d.lib
    opencv_optflow340d.lib
    opencv_photo340d.lib
    opencv_reg340d.lib
    opencv_rgbd340d.lib
    opencv_saliency340d.lib
    opencv_shape340d.lib
    opencv_stereo340d.lib
    opencv_stitching340d.lib
    opencv_structured_light340d.lib
    opencv_superres340d.lib
    opencv_surface_matching340d.lib
    opencv_text340d.lib
    opencv_tracking340d.lib
    opencv_video340d.lib
    opencv_videoio340d.lib
    opencv_videostab340d.lib
    opencv_xfeatures2d340d.lib
    opencv_ximgproc340d.lib
    opencv_xobjdetect340d.lib
    opencv_xphoto340d.lib

    至此就完成了配置!!

    本文参考来自于:

    https://blog.csdn.net/zy499/article/details/82952229

    https://blog.csdn.net/u012679707/article/details/80410952

  • 相关阅读:
    [vue Debugger] sourcemap
    [vuex]持久化存储
    [vuex]字典值封装到vuex缓存
    [vue]常用指令集合
    VSCode插件集合
    [element-ui] 表格点击出现编辑效果实现
    [pdf] 插件实现pdf上传预览、打印
    [html] 特殊字符
    [element-ui] 穿梭框对象重复不添加方案
    Redis持久化
  • 原文地址:https://www.cnblogs.com/gtx159/p/10792966.html
Copyright © 2011-2022 走看看