VS2015 X64+OpenCV3.2.0+opencv_contirb CMake3.8.0编译

来源:互联网 发布:java魔法门2手机版攻略 编辑:程序博客网 时间:2024/06/05 00:11

  因为最近在做深度学习方面的研究,发现OpenCV的DNN模块可以拿来用用,而该模块归属于未稳定,没有在官方编译好的版本中给出,需要自行编译,故有此文。(本文最后由本人编译好的库,如果不想自己编译的可以去下载,但要注意版本的问题)

  首先把该下载的都下载了(OpenCV和CMake好像都存在着不同程度的被墙,如果“不科学上网”则下载起来比较费劲)。下载地址如下:

  opencv:https://github.com/opencv/opencv

  opencv_contirb:https://codeload.github.com/Wangyida/opencv_contrib/zip/master (注意这里用的不是最新的版本,我开始用最新的版本把我坑得死去活来的,总编译不出来dnn相关的模块,珍爱生命,谨慎尝新,这个死去火来可不是一天两天!!!)

  cmake:https://cmake.org/download

  都弄完后打开CMake,按下图选择好源码路径和输出路径,点击“Configure”配置好编译器,确定!

这里写图片描述

  这里有一点需要注意,我在实验室的电脑编译的时候这一步就报错,说是找不到我的编译器。然后我普通查了一圈、翻墙查了一圈和看错误报告也没发现问题,因为我明明装了VS2015也选了VS2015,接着折腾了两个钟(鬼知道我经历了什么。。。)然后经过了无数次打击之后,我看开了。用VS2013的编译器去弄,什么问题都没有!!!无语了,心好累,本想就用VS2013好了,后来用家里的电脑VS2015又可以了,初步判断可能是安装的问题,当然也有可能是CMake zip版本的问题,因为在家里用的是安装版本的,没有具体考证。

  编译一段时间之后会弹出如下界面

这里写图片描述

  因为要用OpenCV来进行DNN分类的,因此需要加入“opencv_contrib”一起编译,以供后面使用。具体的就是找到“OPENCV_EXTRA_MODULES_PATH”这一项,把从网上下载的“opencv_contrib-master”中的“modules”绝对路径放进去,如下:

这里写图片描述

  再按“Configure”,Configure成功。这里有两个问题要说明一下:

  1.有个十分神奇的现象,我家里有两条光纤,一条电信一条移动,电信的我点“Configure”会卡在下载文件那边,然后报错。但用移动的反倒是一点就过去了,都下载下来了,难道是移动网络跟外部的连接比电信好?

  2.如果用最新版本的opencv_contrib可能有一些文件的内容有错需要做改动,而且也有下载不下来的情况,需要自行下载然后扔到对应的文件夹下(不知道和1提到的是不是同一个问题,如果是或许用移动网络就可以,没测试过)。

  下一步点击“Generate”,一下子就过去了,真是一把鼻涕一把泪。。。

  CMake的工作到此就结束了。

  现在在上面指定的输出文件夹F:\deepleaning\buildOpencv\build中可以找到名为“OpenCV.sln”的VS工程文件。

  打开它,在解决方案中选中工程,右键选择重新生成解决方案:

这里写图片描述

  会有一个错误,跟输出命令相关的,这里我直接无视了,因为不影响。

  找到CMakeTargets中的INATALL

这里写图片描述

  对INSTALL单击右键–>仅用于项目–>仅生成 INSTALL(B)

这里写图片描述

  完成后build文件夹里多了一个install文件夹:

这里写图片描述

  点进去,是不是看到了十分亲切的几个文件夹?!没错,我们从OpenCV官网下载的跟这个差不多,配置起来也基本一样,就不说了。

  如果不想自己编译的可以到下面链接下载我编译好的,配置起来就可以使用:

  http://download.csdn.net/detail/ohantanyanying/9829109

  参考文章

  http://blog.csdn.net/liu798675179/article/details/51259505

1 0
原创粉丝点击