为什么要扩展编译
由于在学习图像处理滤波器中,需要用到各种边缘保护滤波器(EPS)算法,但是这些算法在OpenCV 3.1.0的Release版本中存在很少,因为他们把大量的算法存放在opencv_contrib目录下面的未稳定功能模块里的ximgproc文件夹下,所以如果我们想要使用这个目录的功能,就需要自己重新进行OpenCV的编译。
准备工作
Opencv3.1.0源码
opencv_contrib3.1.0源码
Opencv 和 opencv_contrib 的版本号一定要相等
cmake-gui工具
编译步骤
1、运行 cmake-3.6.0-rc2-win64-x64\bin\cmake-gui.exe,导出 OpenCV.sln 工程
2、第一次点击Configure,需要选择vs版本
这里有时候会出现 opencv_ffmpeg、opencv_ffmpeg_64、ippicv_windows_20151201.zip无法下载问题 需要手动去下载
解决方法: 打开 sources\3rdparty\ffmpeg\ffmpeg.cmake 文件,会看到下载地址。替换宏,手动下载后将文件放入 sources\3rdparty\ffmpeg\downloads\89c783eee1c47bfc733f08334ec2e31c 目录下即可
opencv_ffmpeg_64、ippicv_windows_20151201.zip 同上
3、第二次点击Configure
4、第三次点击Configure,带上 opencv_contrib-3.1.0
5、第四次点击Configure
6、点击Generate,生成OpenCV.sln
7、用VS2015 打开 OpenCV.sln 工程
8、先编译 ALL_BUILD 项目
这里会遇到错误
LINK : fatal error LNK1181: 无法打开输入文件
“…\…\lib\Release\opencv_bioinspired310.lib”
解决方法:
打开 opencv_contrib-3.1.0\modules\bioinspired\src\opencl\retina_kernel.cl,
把所有的注释的 //********* 删掉即可。
回到第四步再做一次
9、再编译 INSTALL 项目
10、编译结果
这就是我需要的Opencv3.1.0+opencv_contrib扩展库