ubuntu系统下opencv的编译安装

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下载源码

https://opencv.org/releases/

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 ## 生成一个可执行文件 拖入终端执行 也可
相关推荐
Westward-sun.14 分钟前
OpenCV 实战:银行卡号识别系统(基于模板匹配)
人工智能·opencv·计算机视觉
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ21 分钟前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
安当加密2 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
内卷焦虑人士2 小时前
Windows安装WSL2+Ubuntu 22.04
linux·windows·ubuntu
dddddppppp1234 小时前
qemu模拟的一个内核驱动 io口中断
linux
程序员老赵4 小时前
超全 Docker 镜像源配置指南|Windows/Mac/Linux一键搞定,拉镜像再也不卡顿
linux·后端·容器
门豪杰4 小时前
Ubuntu下安装Claude Code
linux·运维·ubuntu·claude·claude code
总要冲动一次4 小时前
离线安装 percona-xtrabackup-24
linux·数据库·mysql·centos
桌面运维家5 小时前
Windows/Linux双启动:BIOS/UEFI多配置桌面创建指南
linux·运维·windows
xlp666hub5 小时前
【Linux驱动实战】:字符设备驱动之内核态与用户态数据交互
linux·面试