ubuntu系统下opencv的编译安装
参考https://blog.csdn.net/KIK9973/article/details/118830187
1 安装准备
1.1安装依赖环境(Ubuntu18.04)
下载opencv的依赖,其中第三行的依赖是可选的,前两行的依赖则是必要的。
powershell
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
1.2下载源码
1.3.可以将源码放在任意目录,解压
powershell
cd /mnt/d/tools
unzip -o -d ~/. opencv-4.8.0.zip
2 安装
2.1编译
2.1.1 cmake
powershell
cd ~/opencv-4.8.0
mkdir -p build
cd ./build
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_ENABLE_NONFREE=True -D ENABLE_CXX11=1 ..
2.1.2 make
powershell
nproc #查看线程数
sudo make -j16 #在build 文件内 执行该命令 数字越大 后续make的过程就越快。
sudo make install
2.2 环境配置
2.2.1 修改etc/bash.bashrc
powershell
#打开下列文件
sudo vim /etc/bash.bashrc
#文件末尾添加以下内容 并保存
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
#更新
sudo updatedb
source /etc/bash.bashrc
2.2.2 修改动态链接库
powershell
#打开下列文件
sudo vim /etc/ld.so.conf.d/opencv.conf
# 添加lib路經 在 末尾 保存退出
/usr/local/lib
# 更新
sudo ldconfig
报错: /sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link
解决方案:
powershell
cd /usr/lib/wsl
sudo mkdir lib2
sudo ln -s lib/* lib2
#更改wsl配置文件,将 /usr/lib/wsl/lib 改为 /usr/lib/wsl/lib2
sudo vim /etc/ld.so.conf.d/ld.wsl.conf
#测试修改是否生效
sudo ldconfig
#永久修改(有时候会报权限问题,直接手动在文件后面加那两行)
sudo cat >> /etc/wsl.conf << EOF
[automount]
ldconfig = fasle
EOF
3 检查安装情况
1.命令行查看安装情况
powershell
#终端输入以下两命令,显示正常则安装成功
pkg-config --modversion opencv4 #查看版本号
pkg-config --libs opencv4 #查看libs库
4.程序测试
opencv在下载时已经提供了测试程序
powershell
cd ~/opencv-4.8.0/samples/cpp/example_cmake
mkdir build
cd ./build
cmake ..
make
./opencv_example ## 生成一个可执行文件 拖入终端执行 也可