跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++AI算法

OpenCV 功能特性与依赖关系配置

OpenCV 构建系统支持丰富的可选依赖项和功能开关,主要通过 CMake 进行配置。核心依赖管理分为 WITH_启用、BUILD_捆绑库、HAVE_检测标记三类。硬件加速方面,CUDA 算法已移至 contrib 仓库,需安装 NVIDIA Toolkit;OpenCL 提供透明 API,需运行时环境。图像编解码模块支持内置格式及第三方库(PNG/JPEG/TIFF 等),GDAL 和 GDCM 分别用于高级格式和医学影像。构建时需注意依赖优先级及版本兼容性,确保编译成功。

机器人发布于 2025/2/7更新于 2026/7/2448 浏览
OpenCV 功能特性与依赖关系配置

OpenCV 功能特性和依赖关系

有许多可选的依赖项和功能可以打开或关闭。CMake 具有特殊选项,允许打印所有可用的配置参数:

cmake -LH …/opencv

选项命名约定

有三种选项用于控制库的依赖项,它们具有不同的前缀:

  • 以启用或禁用依赖项开头的选项 WITH_
  • 从启用或禁用构建和使用与 OpenCV 捆绑在一起的第三方库开始的选项 BUILD_
  • 以 HAVE_ 开头的选项表示已启用依赖项,如果无法使用自动检测,则可用于手动启用依赖项。

启用选项时:WITH_

  • 如果启用选项,将构建并启用第三方库 => 设置为 BUILD_ 和 HAVE_ 为 ON
  • 如果禁用选项,则将检测到并启用第三方库(如果找到)=> 设置为 BUILD_ 和 HAVE_ 为 OFF(除非强制构建)

异构计算

CUDA 支持

WITH_CUDA(默认:OFF)

许多算法已经使用 CUDA 加速实现,这些函数位于单独的模块中。CUDA 工具包必须从官方 NVIDIA 站点安装,作为先决条件。对于早于 3.9 的 CMake 版本,OpenCV 使用自己的脚本,对于较新的版本 - 与 CMake 打包的脚本。其他选项可用于控制构建过程,例如 cmake/FindCUDA.cmake 或 cmake/OpenCVDetectCUDA.cmake。这些参数尚未记录,详情请查阅脚本。

注意 从 OpenCV 4.0 版开始,所有 CUDA 加速算法实现都已移至 opencv_contrib 存储库。要同时构建 opencv 和 opencv_contrib,请选中相关选项。

可以在相应的部分找到一些教程。

另请参阅:CUDA

待补充选项:WITH_CUFFT, WITH_CUBLAS, WITH_NVCUVID

OpenCL 支持

WITH_OPENCL(默认值:ON)

多种 OpenCL 加速算法可通过所谓的'透明 API(T-API)'获得。此集成在用户级别使用与常规 CPU 实现相同的功能。如果输入和输出图像参数作为不透明的对象传递,则切换到 OpenCL 执行分支。更多信息可以在源代码中找到。

在生成时,此功能没有任何先决条件。在运行时,需要一个有效的 OpenCL 运行时,以检查它的运行和/或命令。OpenCL 集成的某些参数可以使用环境变量进行修改,例如 OPENCV_OPENCL_DEVICE。但是,目前还没有关于此功能的完整文档,因此请查看文件中的源代码以获取详细信息。

另请参阅:OpenCL

待补充选项:WITH_OPENCL_SVM, WITH_OPENCLAMDFFT, WITH_OPENCLAMDBLAS, WITH_OPENCL_D3D11_NV, WITH_VA_INTEL

图像读写(imgcodecs 模块)

内置格式

OpenCV 可以在没有任何第三方库帮助的情况下读取以下格式:

  • HDR (WITH_IMGCODEC_HDR)
  • SUNRASTER (WITH_IMGCODEC_SUNRASTER)
  • PPM, PXM, PFM (WITH_IMGCODEC_PXM, WITH_IMGCODEC_PFM)

PNG、JPEG、TIFF、WEBP 支持

格式选择默认强制构建自己
PNGWITH_PNGONBUILD_PNG
JPEGWITH_JPEGONBUILD_JPEG
TIFFWITH_TIFFONBUILD_TIFF
WEBPWITH_WEBPONBUILD_WEBP
OpenJPEGWITH_OPENJPEGONBUILD_OPENJPEG
JasPerWITH_JASPERONBUILD_JASPER
OpenEXRWITH_OPENEXRONBUILD_OPENEXR

读取这些格式的图像所需的所有库都包含在 OpenCV 中,如果在配置阶段找不到,将自动构建。相应的选项将强制构建和使用自己的库,它们在某些平台上默认启用,例如 Windows。

注意 OpenJPEG 的优先级高于已弃用的 JasPer。为了使用 JasPer,必须禁用 OpenJPEG。

GDAL 集成

WITH_GDAL(默认:OFF)

GDAL 是一个更高级别的库,支持读取多种文件格式,包括 PNG、JPEG 和 TIFF。打开文件时,它将具有更高的优先级,并且可以覆盖其他后端。该库将使用 cmake 包机制进行搜索,确保安装正确或手动设置环境或 cmake 变量。

GDCM 集成

WITH_GDCM(默认:OFF)

通过 GDCM 启用医学图像格式支持。该库将使用 cmake 包机制进行搜索,确保安装正确或手动设置环境或 cmake 变量。

构建最佳实践

为了确保 OpenCV 能够顺利编译并发挥最大性能,建议遵循以下原则:

  1. 依赖管理:优先使用系统包管理器(如 apt, yum, brew)安装常用库,减少编译时间。
  2. 并行编译:使用 -j 参数指定线程数,加快构建速度。
  3. 调试模式:开发阶段建议开启 Debug 模式以便排查问题。
  4. 模块选择:根据项目需求启用特定模块,避免引入不必要的依赖。
  5. 日志检查:构建过程中仔细检查 CMake 输出的日志,确认关键依赖是否被正确识别。

通过合理配置上述选项,可以灵活定制符合项目需求的 OpenCV 构建版本。

目录

  1. OpenCV 功能特性和依赖关系
  2. 选项命名约定
  3. 启用选项时:WITH_
  4. 异构计算
  5. CUDA 支持
  6. OpenCL 支持
  7. 图像读写(imgcodecs 模块)
  8. 内置格式
  9. PNG、JPEG、TIFF、WEBP 支持
  10. GDAL 集成
  11. GDCM 集成
  12. 构建最佳实践
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • OpenClaw 5 步调优指南:让 AI 助手真正能干活
  • Linux 环境变量:作用、分类及自定义配置技巧
  • 工作五年后转行网络安全:行业前景与学习路径分析
  • GPT 大模型本地化部署指南:开源项目推荐与实战
  • 前端代码分割与懒加载实战指南
  • Flutter jwt_io 库在 OpenHarmony 上的适配指南
  • FPGA 开发常用软件对比:Vivado、Quartus、ModelSim
  • AI 编程工具选型:Copilot、Cursor、Codex 核心差异
  • 低小慢无人机目标识别与跟踪技术
  • YOLOv8 结合 Swin Transformer 模型修改实战
  • Python 日志远程传输全解析与监控体系构建
  • GitHub开源项目日报:AI代理与本地助手热榜 (2026-02-19)
  • Python 语言概述、核心特性及环境搭建指南
  • Google Cloud 峰会观察:B 站如何转型为 AI 创新孵化器
  • 多模态大模型微调框架 LlamaFactory 使用指南
  • 模拟算法精选:替换问号、提莫攻击与 Z 字形变换等 5 题解析
  • 字节跳动发布豆包大模型,行业价格进入厘时代
  • Seedance 2.0 多模态 AI 视频创作操作手册
  • WebStorm 2025 版详细下载安装教程
  • 图数据结构详解:存储结构、遍历与核心算法

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online