参考文章:Ubuntu20.04下opencv的安装_unbantu20.04安装opencv_小能很能的博客-CSDN博客
1、安装依赖:
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
2、官网下载好对应文件后解压,创建build文件夹,cd到build下:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
编译:我这里是8核,所以是j8,编译时间有点长,编译完后安装
sudo make -j8
sudo make install
3、更改配置文件:添加路径 /usr/local/lib
sudo gedit /etc/ld.so.conf.d/opencv.conf
更新共享链接库:
sudo ldconfig
修改.bashrc文件(也可以直接在主目录下ctrl+h显示隐藏目录,用gui修改)
sudo gedit /etc/bash.bashrc
添加文件如下:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
source一下:
source /etc/bash.bashrc
sudo updatedb
查看版本:
opencv_version
4,由于一开始忘记安装contrib库了,故补充安装:
首先官网下载对应版本的contrib,下载完成后解压到opencv目录下
cd到build目录,执行如下指令:(路径改成自己的)有下载过程,不使用魔法的话可能会报错。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_EXTRA_MODULES_PATH=~/opencv-4.5.1/opencv_contrib-4.5.1/modules ..
make一下:(时间也有点长)
sudo make -j8
第一次报错: make: *** [Makefile:163:all] 错误 2
因为之前给g++降到了8,opencv4.5.1用的是9.3版本,这里升级成10就行
sudo apt-get install g++-10
sudo apt-get install gcc-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 20
第二次报错:hpp:7:10: fatal error: opencv2/objdetect/aruco_detector.hpp: 没有那个文件或目录 #include "opencv2/objdetect/aruco_detector.hpp",路径问题,解决方法参考这篇文章:
ubuntu安装opencv_contrib扩展库,附踩坑+测试-云社区-华为云
(检查了半天根本没有那个文件,后来才发现原来是因为下错了opencv-contrib的版本,后来又除了一些错误,就换了4.5.2版本的,一个错误都没有报,安装就到此结束了)
最后安装:
sudo make install
5、卸载,参考文章Ubuntu下卸载opencv_ubuntu如何卸载opencv_花花少年的博客-CSDN博客
--------------------------------------------------------分界线--------------------------------------------------------------
后续重新配置了cuda加速,简要记录一下,以备不时之需
下载解压省略,将opencv_contrib-4.5.2拷贝到opencv4.5.2目录下后去掉后缀,创建build文件后直接执行如下指令,这次一次成功
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D ENABLE_CXX11=1 -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D OPENCV_ENABLE_NONFREE=True -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=ON -D WITH_CUDA=ON -D WITH_TBB=ON -D ENABLE_FAST_MATH=1 -D WITH_OPENMP=ON -D WITH_CUFFT=ON -D WITH_CUBLAS=ON ..
编译:(花了将近一个小时)
make -j8
安装:
sudo make install
配置环境:
#进入 bash.bashrc
sudo gedit /etc/bash.bashrc
#在文件最后添加如下内容
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
#更新
sudo updatedb
配置库路径:
sudo gedit /etc/ld.so.conf.d/opencv.conf
# 添加lib路径
/usr/local/lib
# 更新
sudo ldconfig
参考的这篇文章:【opencv】ubuntu安装opencv4.2.0(支持cuda加速)_农夫山泉2号的博客-CSDN博客