新年第二天,记录下opencv4.0.1从源码安装部分
环境介绍: win10 vs2017 opencv4和其额外模块从github上下载而来。
cmake工具。
前置技能:cmake工具的使用(不会请现学,来得及)。
注意的地方,事先告知,以防被忽略
- 源码下载,从github下载opencv4的源码,最新的是4.0.1。注意,对应的额外模块也需要是这个版本的,才能保证顺利编译完成。其他版本同理
- 工具选择,打开其CMakeLists.txt,我们可以看到,对cmake工具的版本要求,至少是3.0,所以cmake工具的版本至少是这个。
- 额外选项,值得是python、vtk、eign等关联部分是否也需要编译,看个人需要,我个人用到,但是在编译的时候均没有协同配置上面提到的。
- 目录中不要包含中文,这个好像是个位置bug。
步骤
- 从github上下载源码,地址: https://github.com/opencv/opencv和 https://github.com/opencv/opencv_contrib 放好源码,并新年一个文件生成文件夹
- 打开cmake,在源码地址一栏,填入本地opencv的源文件所在目录,例如
**/source/opencv4.0.1
该目录下有CMakeLists.txt文件和include、modules等文件夹。紧接着为文件存放目录就是在第一步中新建的文件夹了。 点击configure 会有选择编译器的提示框,我这里选择 vs 15 2017 64位,你选择自己需要的即可。确认后,开始第一configure 会耽误一些时间。 - 完成后,看到大量红色区域,不慌。参照上面注意的第三点,用搜索框快速定位,一一取消你不需要的模块,当然如果你需要的话,勾选,然后配置合适的文件目录就是了。这里我还取消了example的生成,但是勾选了test文件的生成。如果你赶时间,这两个都可以不选。
- 两个地方单独介绍,1. 查看选项中cmake_imstall_prefix的目录设置,是否在你想要的位置(有时候默认生成在c盘,所以检查一下,改到你想要的位置,最后我们从这个目录里,拿到最终结果)。2. opencv_world文件的生成,默认不生成整个的opencv_world文件,需要手动勾选,否则生成多个dll和lib。
- 第二次configure以及generate。第二次configure后不会有红色区域(还有就修改一下错误重新configure),然后生成就可以了。 在这个过程中会下载两个文件,ffmpeg的一个dll和一个名为land_mark_models.dat的文件。 需要联网下载,网速好则静待片刻即可。第二个文件较大,生成可能因为中断,现在提供两种方法,一:多试几次。二:将第二个文件下载好放在对应位置,至于放哪,我也不知道,很多地方都放了,这个网友搜索吧我不确定位置,就不说了。
- cmake完成后的图:
- 之后就简单了,打开生成的opencv.sln文件,先后重新生成ALL_BUILD 和INSTALL项目。之后,切换debug/release模式重复就可以。记得第四部提到的install文件夹么,最终生成的结果就在那里,
- 现在可以尽情使用了。有需要的话,你可以把对应的bin目录(打开可以看到那里有一些dll文件),加入系统PATH中。接下来就是如何配置opencv的问题了。建议保存一个属性表,这样不用每次都配置。配置方法很简单,就不提了
- 最终生成的结果如下图。