写在前边:
据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边。但是这里边有很多我们经常要用的算法,比如SIFT,SURF等(在xfeatures2d 模块里边)。官网提供了说明,可以把opencv_contrib扩展模块添加编译到已安装的opencv3.0.0里边,也可以安装的时候直接把扩展模块编译进去一并安装。
1.依赖关系:
- GCC 4.4.x or later
- CMake 2.8.7 or higher
- Git
- GTK+2.x or higher,including headers (libgtk2.0-dev)
- pkg-config
- Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev,python-numpy)
- ffmpeg or libav development packages: libavcodec-dev,libavformat-dev,libswscale-dev
- [optional] libtbb2 libtbb-dev
- [optional] libdc1394 2.x
- [optional] libjpeg-dev,libpng-dev,libtiff-dev,libjasper-dev,libdc1394-22-dev
注:官方文档中虽然说其中一些依赖包是可选的,但是最好还是都装上,以防出问题。
以上依赖包可用以下命令安装:
2.下载源码:
a.可以从OpenCV官网直接下载:http://opencv.org/downloads.html
b.也可以从github上clone:
3.CMake Opencv源码:
建立一个编译目录(例如:/build)把cmake后的文件都放在这里边。
然后开始cmake,这里需要注意几个cmake的参数,比较重要。
注:命令中最后的” .. “(空格+两个点)千万不要忘记
其中 CMAKE_BUILD_TYPE=Release / Debug
OPENCV_EXTRA_MODULES_PATH 就是用来指定要编译的扩展模块,后边加上刚下载的opencv_contrib模块的路径即可。
这里官方文档上还给出了其他一些参数,但是我没用过,这里就不再描述了。有需要的可以查看http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html
进入上述中新建的build文件目录中,进行如下命令
eg: