从opencv官网下载下来的exe文件安装后只含有opencv自带的一些modules,有时需要其extra modules的一些功能,就需要手动编译。
这里详细的说明了opencv自带的modules和extra modules
环境说明
Windows10 x64
Opencv 3.1.0
Visual Studio 2015
CMAKE 3.4.1
第一部分:生成OpenCV vs项目
下载opencv源码和 opencv_contrib源码 这里的opencv源码部分用官网的exe安装包解压安装也可以。需要的只是源码。
!!!注意:这里OpenCV和OpenCV contrib的代码版本要一致,否则可能后产生不可预知的编译错误!!!
将opencv和opencv_contrib解压到一个目录里,并建立一个空文件夹名为VSproject,用来存储待编译的vs项目
打开CMAKE,在where is the source code里面选择opencv的源代码目录,我安装的是exe包,所以我的目录是F:/Sunday/opencv/sources
在where to build the binaries选择F:/Sunday/VSproject
点击Configure,选择你的编译器,如下
点击Finish
等待出现Configuring done
找到OPENCV_EXTRA_MODULES_PATH项,输入opencv_contrib下的modules目录F:/Sunday/opencv_contrib/modules
如下
其他选项根据自己的需要勾选,不懂的话就不要动了。
我取消勾选的有
BUILD_DOCS
BUILD_TESTS
BUILD_PERF_TESTS
BUILD_opencv_python2
BUILD_opencv_python3
WITH_CUDA
WITH_MATLAB
注意:千万不要勾选BUILD_opencv_contrib_world和BUILD_opencv_world,否则会导致编译失败。但是如果
不添加opencv_contrib的话,就可以勾选BUILD_opencv_world,这样编译出来的库文件和dll就只有一个
opencv_world.dll。包含了所有的库。
再次点击Configure没问题的话上面不会有红色,如下
7. 点击Generate,开始生成VS项目
导出成功如下,显示Genereating done
第二部分:编译
打开VSproject目录下的OpenCV.sln,我的是F:\Sunday\VSproject\OpenCV.sln
先编译debug版本的代码,同时要确保平台正确,在ALL_BUILD项目上右键→生成,即开始编译。这个过程一般较长。
编译成功后生成CMake Targets下的install项目,这样所有opencv编译出来的lib,dll,头文件都会统一放在install文件夹下。
把编译改为Release模式,按照1~3步再编译一下。
最终所有编译好的文件都会存在VSproject的install目录下。