如题
一、换清华源
参考教程:https://blog.youkuaiyun.com/qq_38690917/article/details/115029266
完成后运行
sudo apt update
二、准备
2.1安装cmake和cmake-gui
sudo apt-get install cmake
sudo apt-get install cmake-gui
2.2安装依赖
一定要确保都安装成功再进行下一步
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev pkg-config
三、下载opencv和opencv_contrib
3.1opencv
opencv官网
挑一个你看着顺眼的版本,最好不要最新版,我下的是3.4.16

3.2opencv_contrib
github上的仓库(可能需要梯子)
opencv_contrib是opencv的额外库,下载和你的opencv版本号相同的opencv_contrib

四、安装
4.1配置文件
将下载好的opencv和opencv-contrib压缩文件准备好

解压缩这里的文件名以你实际安装的版本号为准
unzip opencv-3.4.16.zip
unzip opencv_contrib-3.4.16.zip
解压后将opencv_contrib-3.4.16文件夹移动到opencv-3.4.16文件夹中,并且新建一个build文件夹,完成后你的opencv-3.4.16文件夹里应该是这样的

4.2编译
使用cmake-gui来进行直观的编译
以管理员权限打开刚刚安装的cmake-gui
sudo cmake-gui
打开后是这样

在where is the source code 中选择opencv-3.4.16文件夹
在where to build the binaries 中选刚刚新建的build文件夹
点击configure
选择Unix Makefiles
选择Use default native compilers
点击Finish
configure完成

接下来是自定义安装,可以根据你的需求勾选需要安装的库,如果没有明确的特殊需求可以就按照默认的来。
但是需要将OPENCV_EXTRA_MODULES_PATH进行设置,也就是刚刚下载的opencv_contrib如图

完成后点击Generate

generate完成
接下来进行make
在终端中cd到build文件夹,输入
sudo make -j8
-j8的意思是挂载8个线程,这样会更快,如果你的机器性能不够的话可以-j4或者直接sudo make。同样地,如果你的机器贼牛那么可以-j16甚至更高,貌似一般线程数=核心数*2,如果不知道你的核心数则可以输入nproc查看
等待make完成,大约10分钟吧

接下来install
sudo make install

4.3配置环境变量
sudo gedit /etc/ld.so.conf
在文件中加入动态库的路径,默认为/usr/loacal/lib
在文件中加一行include /usr/loacal/lib,保存

执行更改
sudo ldconfig
接下来修改bash.bashrc文件
sudo gedit /etc/bash.bashrc
在文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
如图

保存后在终端中输入
source /etc/bash.bashrc
五、检验
输入
pkg-config opencv --modversion

成功打印出版本号,说明opencv安装成功,现在你可以运行c++的opencv程序了
六、安装opencv-python接口
如果想要运行python的opencv程序则需要再安装一个opencv-python的接口
6.1下载opencv-python
https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/opencv-python/

注意要选择和你python版本号对应的文件,cp38即python3.8

我的opencv版本是3.4.16,python版本是3.8,运行平台是ubuntu虚拟机,因此我下载的版本应该是
opencv_python-3.4.16.57-cp38-cp38-manylinux2014_x86_64.whl
把文件扔到home主目录,执行(如果没安装pip先sudo apt install python3-pip安装pip)
pip3 install /home/xxx/opencv_python-3.4.16.57-cp38-cp38-manylinux2014_x86_64.whl
这里xxx就是你的用户名,后面的whl文件名根据你下载的版本来填写

成功import并打印版本号,至此python编写的opencv程序也可以运行了!
参考文献
https://blog.youkuaiyun.com/public669/article/details/99044895
https://blog.youkuaiyun.com/weixin_44756050/article/details/104825269
1326





