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
相关推荐
却道天凉_好个秋39 分钟前
OpenCV(二十一):HSV与HSL
人工智能·opencv·计算机视觉
努力小周1 小时前
基于ESP32的宠物喂食小屋
opencv·物联网·毕业设计·esp32·鸿蒙系统·毕设·宠物
Theliars2 小时前
Ubuntu 上使用 VSCode 调试 C++ (CMake 项目) 指南
c++·vscode·ubuntu·cmake
Hy行者勇哥3 小时前
物联网工控一体机操作系统选型:安卓、Ubuntu、Debian 场景化决策指南
android·物联网·ubuntu
Stara05117 小时前
Ubuntu环境中LLaMA Factory 的部署与配置—构建大语言模型微调平台
ubuntu·lora·大语言模型·模型微调·qlora·llama-factory·实践指南
weixin_4624462312 小时前
ubuntu/kali安装k8s
linux·ubuntu·kubernetes
序属秋秋秋14 小时前
《Linux系统编程之系统导论》【冯诺依曼体系结构 + 操作系统基本概述】
linux·运维·服务器·c语言·ubuntu·操作系统·冯诺依曼体系结构
搬砖的小码农_Sky1 天前
Ubuntu Desktop Linux 文件和文件夹操作命令详解
linux·运维·ubuntu
guygg881 天前
基于MATLAB的图像融合拼接GUI系统设计
opencv·计算机视觉·matlab
Wild_Pointer.1 天前
简析单目相机模型中的针孔模型
c++·数码相机·opencv