关于用Cmake 和vs 来对opencv3.2.0和opencv_contrib3.2.0整合编译的笔记
首先我们先把opencv和opencv_contrib 的源码进行下载,记住两个的版本要一致。
下面是下载的地址和版本选择,大家也可以用我已经下载好的文件有opencv3.2.0、opencv_contrib3.2.0、cmake-3.9.6和一些Cmake 整合过程所需要的文件:
百度云链接:https://pan.baidu.com/s/1i6bV79b
解压密码为实验室号:
下载地址:https://github.com/opencv
因为Cmake 在整合的时候需要到GitHub 上下载文件,所以对许多没有翻墙的用户都会出现下载文件超时所引起的错误,所以在这里强烈推荐用我已经下载好的安装包进行编译整合
下面就是我所下载的安装包资料:点击打开链接
然后我们进行压缩包的解压,一定要确保自己下载的安装包是完整的,这样才能够避免错误的发生。
接下来就是打开cmake
然后点击Configure 等待编译整合,记住下面一定不能有错误,否则在vs编译会不成功
原则自己安装好的vs
第一次编译好的如下图所示
然后就是把我们的opencv_contrib库添加进去,还有是否勾选opencv_world,这里我是不勾选的,因为opencv_contrib对这个的支持还是不太好,不建议勾选,当然自己也可以尝试。
然后就是这个样子的,我们在点击一次Configure让它都变白色,然后再点击Generate生成sln(即vs工程项目),最后用vs来编译整合生成动态库;最后配置环境测试代码
然后就进入vs选择需要编译的环境,Debug或者Release,我这里以Release为例
按照下图一步一步的进行,最后生成的时候不能有失败的,即失败个数为0,否则会出现不可想象的错误。
然后我们就按照上面的这个图生成打包的动态库,
然后就是在vs中配置环境了这个和一般的配置过程相同,为了让朋友们能一次配置好,我就再重复一下
首先是配置环境变量
然后新建一个空的项目,这个大家想必都会就不再重复
然后打开属性管理器,配置对应的环境就可以
因为我们没有用opencv_ world的方式,所以要讲下图的所有lib加上去,虽然有些复杂但是配置好以后就不用再弄了
然后先重启一次vs在写个代码来测试一下。下面就是我测试的结果。
之前学习了很多的图像处理的基本知识,然后学到了模板匹配,最后到特征检测与匹配的时候之前不添加opencv_contirb就用不了了,所以就写了这边文章,也希望之后各位不要在这浪费太多的时间纠结这个问题,也给大家一些建议,就是在学习的时候不要只注重有那个API,是用来干嘛的,更重要的是理解它背后的数学知识,这样才能更好的知道它需要什么参数,怎么样通过一系列的处理得到自己想要的结果,不要只单单的用一个API就去调参数,然后怎么也调不出先要的结果,这里也希望大家有不懂的或者有啥好的建议加我QQ:1170741585,我们一起学习。
具体的图文请点击: https://pan.baidu.com/s/1smbFo3j
博主所著,未经同意不得转载。