Ubuntu Opencv 源码包安装

说明:

ubuntu20.04 建议 使用 opencv-4.6.0+版本

ubuntu18.04 建议 使用 opencv-4.5.2-版本

安装包准备

1、下载源码包

OpenCV官网 下载相关版本源码 Sources

bash 复制代码
 # 克隆方式 OpenCV 源码
   git clone https://github.com/opencv/opencv.git
   cd opencv
   git checkout 4.5.2  # 选择你需要的具体版本

2、扩展包opencv_contrib 按需安装

GitHub - opencv/opencv_contrib: Repository for OpenCV's extra modules

bash 复制代码
   # 克隆方式 OpenCV contrib 模块(可选,但推荐)
   git clone https://github.com/opencv/opencv_contrib.git
   cd opencv_contrib
   git checkout 4.6.0  # 选择与 OpenCV 主库相同的版本

环境准备

1、更新当前系统软件包

如有需要

sudo apt update # 更新软件包索引

sudo apt upgrade #软件包到最新的可用版本

2、安装必要依赖

sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

编译安装

bash 复制代码
# 解压源代码
unzip opencv-4.5.2.zip

# 解压扩展包

sudo unzip opencv_contrib-4.5.2.zip 

# 重命名扩展包

sudo mv opencv_contrib-4.5.2 ./opencv_contrib

# 打开opecv目录

cd opencv-4.5.2/

# 创建构建目录
sudo mkdir build
cd build

# 执行make配置

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

# 编译 j后面的数字代表使用cpu核心数加速编译
sudo make -j4


# 安装
sudo make install

# 更新缓存库
sudo ldconfig

#-D CMAKE_BUILD_TYPE=RELEASE: 这个参数指定构建类型为"发布"。这意味着编译器会优化代码以提高性能。另一个常见的构建类型是"调试"(DEBUG),它包括额外的调试信息,但不进行优化。

#-D CMAKE_INSTALL_PREFIX=/usr/local: 这个参数指定了OpenCV安装到的目录。/usr/local是Linux系统中常用的目录,用于安装从源代码编译的程序。

#-D INSTALL_C_EXAMPLES=ON: 这个参数指示CMake在安装过程中包含C语言的示例代码。这些示例对于学习和测试OpenCV的功能很有用。

#-D INSTALL_PYTHON_EXAMPLES=ON: 类似于INSTALL_C_EXAMPLES,这个参数指示CMake包含Python语言的示例代码。这要求你的系统上安装了Python。

#-D OPENCV_GENERATE_PKGCONFIG=ON: 这个参数指示CMake生成pkg-config文件。pkg-config是一个在编译时查询已安装库或软件包的元信息的工具。这对于在开发过程中链接OpenCV库非常有用。

#-D OPENCV_EXTRA_MODULES_PATH=/path/to/opencv_contrib/modules: 这个参数指定了OpenCV额外模块(如opencv_contrib)的路径。如果你没有下载opencv_contrib,则不需要这个参数。

#-D BUILD_EXAMPLES=ON: 这个参数指示CMake构建OpenCV的示例项目。这些示例可以帮助你了解如何在自己的项目中使用OpenCV。

#最后的 .. 指的是CMakeLists.txt文件所在的目录,即OpenCV源代码的根目录。

参考

ubuntu opencv 安装_ubuntu安装opencv-CSDN博客

相关推荐
wacsii1 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
AI+程序员在路上1 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
默|笙1 小时前
【Linux网络】传输层协议TCP(1)---TCP报文介绍
linux·网络·tcp/ip
相思难忘成疾1 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes
用户4107192013251 小时前
用 systemd 从零做一个系统健康巡检服务:脚本、沙箱与磁盘满排查实战
linux·ubuntu
GeW2 小时前
新质生产力路线图下,Linux 和数据库不能拆成两件事做
linux
云和数据.ChenGuang2 小时前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes
Linux-lucky2 小时前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
Fruiticecake3 小时前
C 变量住在哪里,进程内存为什么越来越大:从 .data / .bss 到 smaps 排查内存增长
linux
Escalating_xu3 小时前
【Linux 网络编程】NAT、代理服务与内网穿透:从一个公网 IP,到一条真正可达的连接
linux·网络·tcp/ip