OpenCV安装(Ubuntu系统)

本文介绍以源码编译安装的方式,在Ubuntu 22.04上对OpenCV进行安装。

1.安装依赖工具与库

编译 OpenCV 需要以下依赖(以 Ubuntu 22.04 为例):

基础编译工具

sudo apt install -y build-essential cmake git pkg-config

图像/视频处理依赖

OpenCV 依赖多种图像格式(JPEG、PNG、TIFF)和视频编解码库:

sudo apt install -y libjpeg-dev libpng-dev libtiff-dev libjasper-dev  # 图像格式
sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev  # 视频处理
sudo apt install -y libxvidcore-dev libx264-dev  # 视频编解码

GUI 支持

若需使用 OpenCV 的 GUI 功能(如 imshow 显示图像),需安装窗口系统依赖:

sudo apt install -y libgtk-3-dev  # GTK3 支持(推荐)
# 或 Qt 支持(如需更美观的界面):sudo apt install -y qt5-default libqt5gui5 libqt5core5a libqt5widgets5

数学优化库(可选)

安装线性代数库(如 OpenBLAS、Eigen)可加速 OpenCV 的矩阵运算:

sudo apt install -y libopenblas-dev libeigen3-dev

2.下载 OpenCV 源码

步骤 1:克隆 OpenCV 与 opencv_contrib 仓库

OpenCV 主仓库包含核心功能,opencv_contrib 包含额外模块(如 SIFT、人脸识别、深度估计等),建议一同下载:

# 创建工作目录
mkdir -p ~/develop/opencv_build && cd ~/develop/opencv_build
 
# 克隆 OpenCV 主仓库(默认最新分支,如需指定版本,加 -b 标签,如 -b 4.9.0)
git clone https://github.com/opencv/opencv.git
 
# 克隆 opencv_contrib 仓库(版本需与 opencv 一致)
git clone https://github.com/opencv/opencv_contrib.git

步骤 2:切换到指定版本(可选)

若需安装特定版本(如 4.9.0),进入仓库目录切换分支:

cd opencv && git checkout 4.9.0 && cd ..
cd opencv_contrib && git checkout 4.9.0 && cd ..

3.配置编译选项(CMake)

步骤 1:创建构建目录并进入

cd opencv && mkdir -p build && cd build

步骤 2:运行 CMake 配置编译选项

CMake 是 OpenCV 源码编译的核心工具,通过 -D 参数指定编译选项。以下是常用配置(根据需求调整):

cmake -D CMAKE_BUILD_TYPE=DEBUG \
      -D CMAKE_INSTALL_PREFIX=/usr/local/opencv_release \  # 安装路径
      -D INSTALL_CMAKE_CONFIG=ON \ # 安装 CMake 配置文件
      -D INSTALL_PYTHON_EXAMPLES=ON \       # 安装 Python 示例
      -D INSTALL_C_EXAMPLES=ON \            # 安装 C++ 示例
      -D OPENCV_EXTRA_MODULES_PATH=~/develop/opencv_build/opencv_contrib/modules \  # contrib 模块路径
      -D PYTHON_EXECUTABLE=$(which python3) \  # 指定 Python 解释器
      -D BUILD_EXAMPLES=ON \                # 编译示例
      -D WITH_QT=ON \                       # 启用 Qt 支持(GUI 界面)
      -D WITH_OPENGL=ON \                   # 启用 OpenGL 加速
      -D WITH_CUDA=OFF \                    # 禁用 CUDA(如需 GPU 加速设为 ON,需提前安装 CUDA)
      ..  # 指向 opencv 源码根目录(当前在 build 目录,故用 ..)

关键选项说明:

  • CMAKE_BUILD_TYPE:RELEASE(优化编译,默认)或 DEBUG(调试模式)。
  • INSTALL_CMAKE_CONFIG: 安装 CMake 配置文件, 让 CMake 项目可以像现代库一样自动 find_package(OpenCV)。
  • OPENCV_EXTRA_MODULES_PATH:指定 opencv_contrib/modules 路径,启用额外功能。
  • WITH_CUDA:若需 GPU 加速(如深度学习模型推理),设为 ON,需提前安装 CUDA Toolkit。
  • WITH_QT/WITH_GTK:选择 GUI 后端(Qt 功能更丰富,需提前安装 qt5-default 等依赖)。

步骤 3:检查 CMake 输出

配置完成后,CMake 会输出支持的模块、依赖库等信息。确保关键依赖(如 Python、JPEG、FFmpeg)显示为 YES,否则需检查对应库是否已安装。

4.编译与安装

步骤 1:编译源码

使用 make 命令编译,-jN 选项指定并行编译线程数(N 建议设为 CPU 核心数,加速编译):

make -j$(nproc)  # $(nproc) 自动获取 CPU 核心数

编译过程耗时较长(5-30 分钟,取决于硬件性能)。

步骤 2:安装到系统#

编译完成后,执行 make install 将 OpenCV 安装到 /usr/local/opencv_debug(自定义路径):

sudo make install

5.验证是否成功

编写CMakeLists.txt文件

cmake_minimum_required(VERSION 3.10)
project(hello_opencv)

set(OpenCV_DIR "/usr/local/opencv_release/lib/cmake/opencv4")
find_package(OpenCV REQUIRED)

add_executable(hello_opencv main.cpp)
target_link_libraries(hello_opencv ${OpenCV_LIBS})

编写main.cpp文件

#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
 
int main() {
    cv::Mat mat(400, 600, CV_8UC3 , cv::Scalar(0, 255, 255));
    cv::imshow("Mat", mat);
    cv::waitKey(0);
    return 0;
}

运行程序:

截图 2026-03-04 15-52-32

6.参考资料

在 Linux 系统上安装 OpenCV:详细指南

posted @ 2026-03-04 15:55  初五二十一  阅读(300)  评论(0)    收藏  举报