最近对Opencv中的contrib环境进行了重新编译,但是是不同版本的,以后可以使用不同版本。
假设你已经安装了一个版本的Opencv,现在让另一个版本共存
1.下载一个新版本的Opencv。
2.创建build文件夹。
sudo mkdir my_build
cd my_build
这里需要注意你的build是创建在哪里,根目录下还是在解压后的Opencv文件下。
3.使用cmake安装新版本opencv的时候,我们需要修改安装路径,默认的安装路径为/usr/local,我们修改为/usr/local/opencv3.4.3
这里可以使用cmake命令来进行安装,也可以使用cmake-gui来进行安装,没有cmake-gui的需要先进行下载(特别是需要编译
contrib的时候,使用cmake-gui更加的清晰)。
若你的build文件夹建立在opencv文件下,那么
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.3
若建立在其他位置,则需要进行说明
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.3
cmake之后,/usr/local/opencv3.4.3下会出现bin,lib,share,include等文件夹。
使用cmake-gui安装
4.回到my_build文件夹下
sudo make -j6(根据自己电脑cpu的核数来进行更改)
sudo make install
5.安装完成后
sudo gedit /etc/ld.so.conf.d/opencv3.4.3.conf
在里面加入下面这行
/usr/local/opencv3.4.3/lib
然后命令执行
sudo ldconfig //使得刚才的环境配置生效
6.修改环境变量
sudo gedit /etc/bash.bashrc
在下面加两行
export PKG_CONFIG_PATH="/usr/local/opencv3.4.3/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="/usr/local/opencv3.4.3/lib:$LD_LIBRARY_PATH"
并且将之前的注释掉,我之前的是opencv4
#PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4/lib/pkgconfig
#export LD_LIBRARY_PATH=/usr/local/opencv4/lib
#export PKG_CONFIG_PATH
7.修改之后,使环境变量生效
source /etc/bash.bashrc
下次需要另一个版本的,只需要将注释部分替换掉就可以了
8.检测版本
pkg-config opencv --modversion