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
相关推荐
视觉小萌新5 小时前
A1——基于AMD-48G显卡下载Gemma4模型
linux·ubuntu
这个人懒得名字都没写7 小时前
OpenCV 官方教程中的测试图片Can’t find required data file
python·opencv
AI的探索之旅7 小时前
97 个 OpenCV 实例(十七):图片读写,FileStorage 与 JPEG 采样
人工智能·opencv·计算机视觉
牧羊人.3338 小时前
计算机视觉基础第15章|DNN实现图像风格迁移
图像处理·人工智能·深度学习·opencv·计算机视觉
欧特克_Glodon8 小时前
OpenCV计算机视觉开发入门与实践<二十九>:grabCut算法分割图像
opencv·算法·计算机视觉·图像分割·grabcut 算法
MSTcheng.8 小时前
【Linux】Linux学习第三弹——Linux基本指令2
linux·windows·学习·ubuntu·操作系统
leoZ2311 天前
AI+前端提效-09 AI赋能前端测试:单元测试、E2E测试自动生成,提升覆盖率
前端·人工智能·opencv·目标检测·数据挖掘·单元测试·语音识别
别动我齐刘海1 天前
从0到1独立搭建机器人软件系统
c++·人工智能·神经网络·opencv·目标检测·机器学习·机器人
AI的探索之旅1 天前
97 个 OpenCV 实例(十五):几何校正,透视变换 + ECC 对齐
人工智能·opencv·计算机视觉
苏三福1 天前
ubuntu 在文件管理系统中用sftp打开远程文件空白的问题解决
linux·运维·ubuntu