Ubuntu22.04安装Opencv + opencv_contrib(v4.9.0)

需下载两个文件:

将上述文件上传到如下目录

bash 复制代码
root@f5b3d2a6bf04:/opencv# pwd
/opencv
root@f5b3d2a6bf04:/opencv# ll
total 149036
drwxrwxr-x 2 1000 1000     4096 Apr  8 10:07 ./
drwxr-xr-x 1 root root     4096 Apr  8 10:10 ../
-rw-r--r-- 1 1000 1000 92788647 Apr  8 10:07 opencv-4.9.0.tar.gz
-rw-r--r-- 1 1000 1000 59803362 Apr  8 10:09 opencv_contrib-4.9.0.tar.gz

安装步骤

  1. 解压文件
bash 复制代码
tar -zxvf opencv-4.9.0.tar.gz && tar -zxvf opencv_contrib-4.9.0.tar.gz
  1. 复制opencv_contrib到opencv目录下
bash 复制代码
cp -rf opencv_contrib-4.9.0 ./opencv-4.9.0
  1. 环境配置
bash 复制代码
apt-get update -y && apt-get upgrade -y && \
  apt-get install -y make cmake g++
  1. 编译
bash 复制代码
mkdir -p opencv-4.9.0/build && cd opencv-4.9.0/build && \
  cmake -D CMAKE_BUILD_TYPE=Release \
  	-D OPENCV_GENERATE_PKGCONFIG=ON \
  	-D CMAKE_INSTALL_PREFIX=/usr/local .. \
    -D OPENCV_EXTRA_MODULES_PATH=/opencv/opencv-4.9.0/opencv_contrib-4.9.0/modules ..

具体的参数含义:

  • -D CMAKE_BUILD_TYPE=Release:设置构建类型为Release模式。这意味着编译器将启用优化,并且不包含调试信息,生成的库或可执行文件更适合生产环境部署,运行速度更快但调试难度相对增大。

  • -D OPENCV_GENERATE_PKGCONFIG=ON:指示CMake生成pkg-config文件。pkg-config是一个帮助程序,它能够处理编译器和链接器所需的依赖关系,生成的.pc文件可以让其他项目更容易找到和链接到OpenCV库。

  • -D CMAKE_INSTALL_PREFIX=/usr/local:设置安装路径,编译完成后安装OpenCV库及相关文件至/usr/local目录下,这是Unix/Linux系统中常见的第三方软件安装位置。

  • -D OPENCV_EXTRA_MODULES_PATH=/opencv/opencv-4.9.0/opencv_contrib-4.9.0/modules:指定额外模块路径,OpenCV的额外模块(比如新增功能、扩展算法等)位于opencv_contrib仓库中,这个参数告诉CMake去哪里找这些模块并将其纳入构建,这样除了基本的OpenCV模块外,还能编译安装额外的功能模块。

最后的两个点...表示上一级目录,即回到OpenCV源代码根目录,以便CMake能够找到顶层CMakeLists.txt文件来配置整个项目。

  1. 安装
bash 复制代码
make -j 4 && make install
相关推荐
无垠的广袤16 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:缺陷检测
linux·人工智能·python·opencv·开发板
bjxiaxueliang17 小时前
一文解决蓝牙连接难题:Ubuntu命令行蓝牙强制配对
linux·ubuntu·蓝牙连接命令
Will_Ye18 小时前
Ubuntu22.04 蓝牙设备快速自动连接
ubuntu·bluetoothctl
Dfreedom.19 小时前
图像灰度处理与二值化
图像处理·人工智能·opencv·计算机视觉
lihe75820 小时前
每天凌晨3点自动同步UBUNTU源
linux·运维·ubuntu·本地源
zbliquan21 小时前
SS928v100远程ubuntu交叉编译开发环境搭建
linux·运维·ubuntu
_叶小格_1 天前
cp、scp、rsync命令详解
linux·运维·服务器·ubuntu·centos·运维开发
qwy7152292581631 天前
9-数字水印的嵌入和提取
人工智能·opencv·计算机视觉
小天源1 天前
CentOS 7介绍及其下载
linux·运维·ubuntu·centos·麒麟·windows11·windows10
CheungChunChiu1 天前
V4L2 框架下 `v4l2-ctl --list-frameintervals` 调用链解析
linux·ubuntu·sensor·cam