按照方法参考链接:
https://blog.csdn.net/Gordon_Wei/article/details/85775328
https://blog.csdn.net/Gordon_Wei/article/details/88920411
问题解决参考链接:
https://blog.csdn.net/yphust/article/details/88385760
首先感谢原作者文章,写的非常好和细,以前从来没有用CMake进行编译,基本上属于零基础,通过该文章我学到了关于CMake编译的OPenCV很多知识,同时里面也有很容易忽略的问题,会导致最终的结果错误,这也是我主要想综合整理的问题,希望能够帮助需要的人。
首先要明白为啥需要用CMake进行编译OpenCV, 主要原因是一些算法因为专利或者未成熟的原因,不在发布的release版本中了。例如:现在我需要SIFT和SURF算法,他们因为专利的原因不能用于商业,在2.x版本中,放在在nofree中,而3.x版本开始,这些方法被放入了opencv_contrib中,如果想使用需要自己编译到opencv中。
1、opencv的下载:
https://github.com/opencv/opencv
2、opencv_contrib的下载:
https://github.com/opencv/opencv_contrib
3、.cache的下载(原作者的链接):
CSDN下载:
链接:https://download.csdn.net/download/gordon_wei/10897688
百度网盘:
链接: https://pan.baidu.com/s/19lzqHNhZikEwVrZBMSW92w&shfl=shareset
提取码: 2u3x
4、CMake的下载(最新为3.15.7版本):
CMake 下载下来后直接安装
https://cmake.org/download/
以上工具包可以直接我全部打包了,可以一次性全部下载,由于上传容量限制220M以下,所以穿了两个链接,链接如下:
opencv401编译包合集(包含opencv源码安装包、opencv contrib包、cmake-3.15.7-win64-x64.msi)链接:
https://download.csdn.net/download/weixin_42727069/12167227
.cache.rar
https://download.csdn.net/download/weixin_42727069/12167256
opencv安装包解压,将下载的文件解压成单独文件,按照下图放置好。
CMake安装,一路下一步,中间有一个步骤需要注意勾选,在系统变量中添加path路径(如果不会自行百度),否则安装完后需要手动增加系统变量路径。
上面步骤都完了后就可以开始接下来的编译工作了。
3.2.1双击安装成功后桌面上CMake图标,运行CMake,按照下面操作后,点击configure进行下一步配置
3.2.2、按照下图进行配置,配置完后点击finish
注意,由于我电脑上装了python2,所以编译的时候自动识别了,python2是不能编译64位程序的,如果这里有python2也不进行设置取消的话就会在后面vs编译的时候进行报错,无法顺利编译出最终的东西,设置方法如下图
打开CMake时设置的build_test文件夹,你会看见OpenCV.sln文件,该文件是vs的项目文件,用vs2017打开它
生成过程时间要花比较久,大约50分钟左右,提前做好心理准备,如果成功后,则进行下一步生成INSTALL
这一步如果成功了,就会在build_test文件夹下生成一个install文件夹,所有编译出来最终文件都在里面包含着,当然上面只是说了debug 64位的编译,若要编译release版本只需要按照下图切换后,返回上面两步骤,进行“生成”和“仅生成INSTALL”就可以了