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
相关推荐
ghgxm5201 分钟前
Opencode入门
人工智能·opencv
成为你的宁宁27 分钟前
【apt update突然报错Temporary failure resolving ‘cn.archive.ubuntu.com‘】
linux·运维·ubuntu
m0_5870989931 分钟前
C++,cv::Mat数据类型、通道数等概念梳理
c++·opencv·计算机视觉
SilentSamsara10 小时前
SSH 远程管理:密钥登录 + 隧道转发,一次性配置好
linux·运维·服务器·ubuntu·centos·ssh
xuanwenchao16 小时前
Mac M1/M2/M3/M4/M5芯片-系统安装Ubuntu
linux·ubuntu·macos
叫我刘同学17 小时前
腾讯云 Ubuntu 服务器部署 Hermes Agent 详细安装教程
服务器·ubuntu·腾讯云
fzil00117 小时前
让 AI 自己协作 —— 多智能体(Swarm)系统的设计与实现
java·开发语言·人工智能·ubuntu
企鹅的蚂蚁19 小时前
Ubuntu 22.04 终端进阶:Terminator 安装与快捷键完全手册
linux·运维·ubuntu
ComputerInBook20 小时前
OpenCV图像处理——自适应阈值处理函数 adaptiveThreshold
图像处理·人工智能·opencv·自适应阈值处理
千里马学框架20 小时前
Ubuntu 24 搭建aosp源码环境详细笔记
android·linux·ubuntu·framework·安卓·aosp·源码环境