本人工作会用到x86_64的opencv和aarch64的opencv,所以写下来备忘自用
一、源码编译安装
依赖库安装:
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
opencv官网:Releases - OpenCV
在opencv文件夹内进行如下操作。
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv_3.4.16 ..
make -j8 # 8代表开8个线程去处理,可以设置为 2,4,6等
sudo make install
我把安装路径设置为“/usr/local/opencv_3.4.16”,同时也推荐各位自定义安装路径,多版本的情况下比较好分类。如果不指定安装路径,则默认各部分分别安装在/usr/local/
目录的include
,bin
,lib
3个文件夹下。
我演示的是3.4.16版本的opencv,opencv4.0以上版本默认不使用pkg-config,需要在cmake命令中增加一条代码来手动开启(4.0以下的加了也没关系,因为它默认就是开的)
-D OPENCV_GENERATE_PKGCONFIG=YES
同理可以安装其他版本,或者使用交叉编译工具安装其他格式的opencv
二、环境配置及切换版本
sudo gedit /etc/ld.so.conf
里面加上 /usr/local,后面它就会去这个目录下找库文件
sudo ldconfig # 保存配置
接下来这个是切换opencv版本的关键
sudo gedit /etc/bash.bashrc
在文件的末尾,加上一下三行
export PKG_CONFIG_PATH=/usr/local/opencv_3.4.16/lib/pkgconfig #配置文件
export LD_LIBRARY_PATH=/usr/local/opencv_3.4.16/lib #库文件
export OpenCV_DIR=/usr/local/opencv_3.4.16 #整个opencv文件
其中opencv_3.4.16这个是我上面安装的路径,你们根据自己的自行调整,有多个版本的时候,直接套用这三行,改后面的安装路径就好了,比如下图,我目前就是在用3.4.0,然后把另外一个注释掉了。
保存配置
source /etc/bash.bashrc
查看opencv版本
pkg-config opencv --modversion
如果你是在idea里面,执行完上述操作后发现版本没有切换,请重启一下idea
有问题欢迎交流