多版本OpenCV共存安装
假设此电脑已经安装了opencv4.0,现在需要安装opencv3,(其它版本同理)
下载OpenCV并构建库
为了避免冲突,在/usr/local/
目录中新建opencv3
1 | sudo mkdir -p /usr/local/opencv3 |
照常从opencv官网中下载另一版本的opencv,使用以下命令build
1 | mkdir build |
1 | cmake -DCMAKE_BUILD_TYPE=RELEASE -DWITH_TBB=ON -DWITH_V4L=ON -DCMAKE_INSTALL_PREFIX=/usr/local/opencv3 .. |
进入build
文件夹后,你需要输入下面这种格式的cmake指令,需要根据你的实际情况,对下面的指令参数进行修改,不要复制过去就直接运行。
1 | cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 -D OPENCV_EXTRA_MODULES_PATH=~/ros/sitepackages/opencv-3.4.2/opencv_contrib/modules/ -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7 .. |
编译安装
1 | make -j4 |
切换opencv版本
打开~/.bashrc
1 | gedit ~/.bashrc |
在文件末尾增加以下内容
1 | Change OpenCV3 |
更新~/.bashrc
1 | source ~/.bashrc |
查询OpenCV版本
1 | pkg-config --modversion opencv |
如果输出3.4.2,就表明配置成功。
如果想使用之前的版本,在~/.bashrc中注释掉增加的内容,然后source ~/.bashrc即可。
如果只有一个版本的OpenCV,在CMakeList.txt中使用以下语句即可。
1 | FIND_PACKAGE(OpenCV REQUIRED) |
在OpenCV编译好后,所在目录中会生成OpenCVConfig.cmake文件,这个文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等。
存在多版本OpenCV时,需要找到所需版本对应的OpenCVConfig.cmake文件,并将其路径添加到工程的CMakeLists.txt中。
示例如下:
1 | set(OpenCV_INCLUDE_DIRS "/usr/local/opencv3/include") |
参考文章
评论