ubuntu下opencv3和opencv2共存

最近高翔大神写的《视觉SLAM十四讲》到了,重新回顾,受益匪浅。不管是不是专注于视觉slam,都值得一看。

在之前的安装中,电脑默认安装的opencv2.4.8,当我们 FIND_PACKAGE( OpenCV REQUIRED ) 时,系统默认在/usr/share/OpenCV下找OpenCVConfig.cmake,确定引入的Opencv的头文件和库文件的位置。

高博在他的书中,选择了OpenCV3.1版本,与sudo apt-get install libopencv-dev 安装的opencv2.4 的版本不一样,会出现一些冲突,话虽如此,一些经典的算法选择的仍然是OpenCV的较早版本,因此我们需要直到多版本OpenCV并存。

网上其他的一些方法比较繁杂,我选择了一个我觉得比较简单的方法。

首先,下载OpenCV3的源码 opencv3.2 我选择了最新的3.2版本,和3.1差别不大。

下载解压后,我用cmake-gui进行安装,感觉比较直观。

mkdir build
cd build
cmake-gui ..

在configure中选择默认设置即可,opencv3要下载一个ippicv的第三方包,直接下比较慢,可以自己下后,放到3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e里即可。
ippicv_linux_20151201.tgz

在之后的安装配置中,我把CMAKE_INSTALL_PREFIX 改为/usr/local/opencv3,之后generate,再make和sudo make install,在对应目录下就有opencv3的头文件和库文件了。

当自己所写的程序使用到opencv3时,在 FIND_PACKAGE( OpenCV REQUIRED ) 前,添加set(OpenCV_DIR "usr/local/opencv3/share/OpenCV") 这样计算机就找到opencv3的对应头文件和库文件了,如果继续使用opencv2,不添加这一句就可以。

你可能感兴趣的:(算法)