参考文章:
https://blog.youkuaiyun.com/niuyuanye/article/details/79607770
一、电脑环境:win10 VS2015 cmake3.11.3
二、背景:为了使用opencv dnn模块,安装了opencv 3.4.1预编译版,安装很简单,但有一个问题,程序运行的时候无法进入到函数内部实现中,这给刚接触dnn模块的我增加了调试的难度,出问题了无法进行调试,因此还是决定自己编译一下。所有涉及到的文件均给出百度云下载路径!
三、下载链接:
opencv3.4.1百度网盘下载链接:https://pan.baidu.com/s/17Vilcmlw5Ce6KK2mfsmcWQ 密码:rl5c
opencv_contrib-3.4.1百度网盘下载链接:https://pan.baidu.com/s/131yLMC96Bo-YKv1omXVVPQ 密码:mg8d
ffmpeg_version.cmake百度网盘下载链接:https://pan.baidu.com/s/1H6uxba0cgRUsdBcI69axow 密码:xsbb
opencv_ffmpeg.dll百度网盘下载链接:https://pan.baidu.com/s/1bTzOMjDDGrvcaZWIvsdSlw 密码:rynu
opencv_ffmpeg_64.dll百度网盘下载链接:https://pan.baidu.com/s/1k5iBc1-vYBGCYtSWXSG2_g 密码:epan
face_landmark_model.dat百度网盘下载链接:https://pan.baidu.com/s/1vyYrn66GjXYpZvbtve5azg 密码:km0k
四、cmake编译opencv
1、下载opencv3.4与opencv_contrib3.4相对应的版本,上文已给出百度云下载链接;
2、Cmake编译Opencv3.4,选定 源码路径 和 编译输出路径,下图是我的源码路径和编译输出路径,然后单击configure;
单击configure后,弹出一个界面,我的选择如下图设置,单击“Finish”即可开始编译;
这个过程会出现很多错误需耐心反复编译,主要原因是他要从国外网站下载文件,若下载失败就编译不通过,以红色显示;
解决办法:手动下载。查看D:\software\opencv3.4.1\build中打开CMakeDownloadLog.txt文件,里面有下载失败文件的链接及 下载文件要保存到本地的路径,将文件覆盖到保存的本地路径和D:\software\opencv3.4.1\opencv-3.4.1\.cache相应的路径 中,并按照我下载失败的分别为opencv_ffmpeg.dll、opencv_ffmpeg_64.dll、ffmpeg_version.cmake、 face_landmark_model.dat,上文已给出百度网盘下载路径。
以opencv_ffmpeg_64.dll下载失败为例:打开CMakeDownloadLog.txt,将手动下载的pencv_ffmpeg_64.dll复制到下图两个 标红线路径中(下图从别人博客中下载,因此与我的路径对不上),并将第二个路径下复制过去的opencv_ffmpeg_64.dll名 字改为下 图cashe下的名字,前面有一串数字的那个名字。
所有下载失败的的文件都完成上述操作后,勾选 BUILD_opemcv_world;主要是把所有的lib文件都弄到一个 opencv_world340d.lib中方便配置,若不勾选在最后会产生大概38个.lib文件;勾选 BUILD_EXAMPLES;就是编译OPencv 自带的例程,完成后再次单击“Configure”即可。单击“Configure”直到Cmake3.10没有红色显示为止。
选择OPENCV_EXTRA_MODULES_PATH 把路径选择为解压的opencv_contrib3.4文件中的“modules”即 D:\software\opencv3.4.1\opencv_contrib-3.4.1\modules 。如下图:
再次单击“Configure”,如若出现下载失败的情况,解决办法如上文, 再次单击“Configure”直到Cmake3.10没有红色显示为止。最后单击“Generate”完成Cmake编译的最后工作。
五、vs2015的最后编译
打来编译输出文件D:\software\opencv3.4.1\build找到 Opencv.sln打开工程文件,选择debug x64点击解决方案,点击右键,选择生成解决方案;随后漫长的等待。那个错误是与Python有关不用考虑;选择 CMakeTargets下的INSTALL右键选择仅用于项目->仅生成INSTALL即可,之后会在D:\software\opencv3.4.1\build 找到一个install文件夹即为最后编译生成的Opencv3.4配置需要文件。