OPENCV 编译选项以及解释

这篇具有很好参考价值的文章主要介绍了OPENCV 编译选项以及解释。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

cmake编译以及模块介绍,后面遇到没有的会继续再补充

  • CMAKE_BUILD_TYPE:指定构建类型,如Debug、Release等。

  • CMAKE_INSTALL_PREFIX:指定安装目录。

  • BUILD_SHARED_LIBS:设置为ON时,构建共享库;设置为OFF时,构建静态库。

  • BUILD_WITH_STATIC_CTR:当为ON是,构建静态运行时库(MT/MTd),设置为OFF时,构建动态运行时库(MD/MDd)

  • OPENCV_EXTRA_MODULES_PATH:指定额外模块的路径,用于构建OpenCV的扩展模块。

  • BUILD_opencv_world:设置为ON时,构建包含所有模块的单个动态库(opencv_world)。

  • BUILD_opencv_python:设置为ON时,构建Python绑定。

  • BUILD_opencv_java:设置为ON时,构建Java绑定。

  • BUILD_opencv_apps:设置为ON时,构建OpenCV示例应用程序。

  • BUILD_opencv_calib3d:设置为ON时,构建相机标定和三维重建模块。

    • Calibration(校准)加3D这两个词的组合缩写。这个模块主要是相机校准和三维重建相关的内容。基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等。提供了摄像机标定、立体视觉和三维重建的功能,包括相机参数估计、立体匹配、三维点云重建等。

  • BUILD_opencv_core:设置为ON时,构建核心功能模块。

    • OpenCV基本数据结构

    • 动态数据结构

    • 绘图函数

    • 数组操作相关函数

    • 辅助功能与系统函数和宏

    • 与OpenGL的互操作

  • BUILD_opencv_dnn:设置为ON时,构建深度学习模块。

    • 图像分类;

    • 目标检测;

    • 图像分割;

    • 文字检测和识别;

    • 姿态估计;

    • 深度估计

    • 人脸验证和检测;

    • 人体重新识别;

  • BUILD_opencv_features2d:设置为ON时,构建特征检测和描述模块。

    • 特征检测和描述

    • 特征检测器(Feature Detectors)通用接口

    • 描述符提取器(Descriptor Extractors)通用接口

    • 描述符匹配器(Descriptor Matchers)通用接口

    • 通用描述符(Generic Descriptor)匹配器通用接口

    • 关键点绘制函数和匹配功能绘制函数

  • BUILD_opencv_flann:设置为ON时,构建快速最近邻搜索模块。

  • BUILD_opencv_gapi:设置为ON时,构建通用图像处理模块。

  • BUILD_opencv_highgui:设置为ON时,构建图形用户界面模块。

    • 媒体的I / O输入输出

    • 视频捕捉

    • 图像和视频的编码解码

    • 图形交互界面的接口等内容

    • 关键点绘制函数和匹配功能绘制函数

    • 关键点绘制函数和匹配功能绘制函数

  • BUILD_opencv_imgcodecs:设置为ON时,构建图像编解码模块。

  • BUILD_opencv_imgproc:设置为ON时,构建图像处理模块。

  • BUILD_opencv_ml:设置为ON时,构建机器学习模块,基本上是统计模型和分类算法。

    • 统计模型 (Statistical Models)

    • 一般贝叶斯分类器 (Normal Bayes Classifier)

    • K-近邻 (K-NearestNeighbors)

    • 支持向量机 (Support Vector Machines)

    • 决策树 (Decision Trees)

    • 提升(Boosting)

    • 梯度提高树(Gradient Boosted Trees)

    • 随机树 (Random Trees)

    • 超随机树 (Extremely randomized trees)

    • 期望最大化 (Expectation Maximization)

    • 神经网络 (Neural Networks)

    • MLData

  • BUILD_opencv_objdetect:设置为ON时,构建目标检测模块。

    • 包含Cascade Classification(级联分类)和Latent SVM这两个部分,包括Haar特征分类器、级联分类器等。

  • BUILD_opencv_photo:设置为ON时,构建图像修复、去噪点和增强模块。

  • BUILD_opencv_stitching:设置为ON时,构建图像拼接模块。

    • 拼接流水线

    • 特点寻找和匹配图像

    • 估计旋转

    • 自动校准

    • 图片歪斜

    • 接缝估测

    • 曝光补偿

    • 图片混合

  • BUILD_opencv_video:设置为ON时,构建视频分析模块。

  • BUILD_opencv_videoio:设置为ON时,构建视频输入/输出模块。

  • BUILD_opencv_videostab:设置为ON时,构建视频稳定模块。

  • BUILD_ITT:用于构建Intel® Trace Collector (ITC) 的支持。

    • Intel Trace Collector是一种用于分析和优化并行和多线程应用程序的工具,它可以帮助开发人员识别和解决并行程序中的性能问题。通过使用BUILD_ITT选项,可以选择是否编译和构建OpenCV与Intel Trace Collector的集成支持,以便在开发和调试OpenCV应用程序时使用Intel Trace Collector进行性能分析和优化。

  • BUILD_IPP_IW:选项,用以inter 的ipp加速模块

  • BUILD_opencv_ts:用于构建OpenCV的测试模块(Test Suite)。

    • 测试模块是用于验证OpenCV库的正确性和稳定性的一组测试用例。这些测试用例可以帮助开发人员在开发和修改OpenCV代码时进行自动化测试,以确保代码的正确性和功能的稳定性。通过使用BUILD_opencv_ts选项,可以选择是否编译和构建OpenCV的测试模块。

  • BUILD_opencv_objc_building_generator:用于生成Objective-C绑定的构建文件。

    • Objective-C绑定是为了在iOS和macOS平台上使用OpenCV库时,能够方便地与Objective-C代码进行交互和集成。当设置BUILD_opencv_objc_building_generator为ON时,CMake会生成Objective-C绑定所需的构建文件。这些构建文件包括Objective-C的头文件和源文件,以及用于生成Objective-C绑定的辅助工具。通过启用这个选项,开发者可以在iOS和macOS平台上使用Objective-C语言来调用OpenCV库中的函数和类,从而实现图像处理和计算机视觉的功能。

  • WITH_CUDA:设置为ON时,启用CUDA支持。

  • WITH_TBB:设置为ON时,启用Intel TBB支持。

  • WITH_OPENCL:设置为ON时,启用OpenCL支持。

    • OpenCL是一种开放的并行计算框架,可以利用多个计算设备(如CPU、GPU等)进行并行计算,从而加速图像处理和计算机视觉算法的执行。如果设置WITH_OPENCL为ON,则会启用OpenCL支持;如果设置为OFF,则不会启用OpenCL支持。

    • OPENCL相关选项:

      • OPENCL_FOUNE:是否查找使用opencl

      • WITH_OPENCL:启用OPENCL支持

      • OPENCV_DNN_OPENCL:用于控制是否启用OpenCL加速的深度学习模块(DNN)

        • OpenCV的DNN模块提供了深度学习推理的功能,可以加载和执行训练好的深度学习模型。而OpenCL是一种并行计算框架,可以利用多个计算设备(如CPU、GPU等)进行并行计算,从而加速深度学习模型的推理过程。

        • 如果设置OPENCV_DNN_OPENCL为ON,则会启用OpenCL加速的DNN模块;如果设置为OFF,则禁用OpenCL加速的DNN模块。启用OpenCL加速可以提高深度学习模型推理的速度,特别是在使用支持OpenCL的GPU时。但需要注意的是,启用OpenCL加速需要确保系统支持OpenCL,并且安装了相应的OpenCL驱动程序。如果系统不支持OpenCL或者没有安装OpenCL驱动程序,那么即使设置了OPENCV_DNN_OPENCL为ON,也无法启用OpenCL加速的DNN模块。

      • WITH_OPENCLAMDBLAS:启用AMD提供的的 OPENCL GPU并行BLAS线性代数库支持

        • BLAS(basic linear algebra subroutine)(基本线性代数子程序)是提供用于执行基本向量和矩阵运算的标准构建块的例程。1 级 BLAS 执行标量、矢量和矢量-矢量运算,2 级 BLAS 执行矩阵-矢量运算,3 级 BLAS 执行矩阵-矩阵运算。

        • AMD_BLAS官方: 基本线性代数子程序 (BLAS) 库 |阿德 (amd.com)

      • WITH_OPENCLAMDFFT:启用AMD提供的 OPENCL GPU并行快速傅里叶变化支持

        • FFT:快速傅里叶变换

        • cFFT官方:clFFT: OpenCL 快速傅立叶变换 (FFT) (clmathlibraries.github.io)

      • WITH_OPENCL_D3D11_NV:启用NVIDIA提供的OPENCL D3D11 GPU 并行计算支持

      • WITH_OPENCL_SVM:OPENCL共享虚拟内存支持

  • WITH_OPENGL:设置为ON时,启用OpenGL支持。

  • WITH_QT:设置为ON时,启用Qt支持。

  • ENABLE_PRECOMPILED_HEADERS:设置为ON时,启用预编译头文件。

  • CV_TRACE:用于启用或禁用OpenCV函数调用的跟踪功能。

    • 当CV_TRACE选项被启用时,OpenCV库会在运行时输出函数调用的跟踪信息,包括函数名称、参数和返回值等。这对于调试和性能分析非常有用,可以帮助开发人员了解代码的执行流程和性能瓶颈。通过启用CV_TRACE选项,可以在OpenCV编译时将跟踪功能添加到库中。在运行时,可以使用相应的API函数来控制跟踪的开启和关闭,以及设置跟踪输出的目标(如控制台、日志文件等)。这样,开发人员可以根据需要在调试和性能优化过程中使用CV_TRACE选项来获取更详细的函数调用信息。

  • ENABLE_LTO:用于启用或禁用链接时优化(Link Time Optimization,简称LTO)。

    • 链接时优化是一种编译器优化技术,它在链接阶段对整个程序进行优化,而不仅仅是对单个源文件进行优化。通过启用LTO,编译器可以对整个OpenCV库进行全局优化,从而提高代码的执行效率和性能。如果设置ENABLE_LTO为ON,则会启用链接时优化;如果设置为OFF,则禁用链接时优化。启用LTO可能会增加编译时间和内存消耗,但可以提高生成的OpenCV库的执行效率。因此,根据具体需求和编译环境,可以选择是否启用ENABLE_LTO选项。

  • ENABLE_IPC:生成与位置无关的代码(对于共享库是必需的)

  • ENABLE_PRECOMPILED_HEADERS:启用预编译头

  • EBABLE_SOLUTION_FOLDERS:在VS或其他IDE中启用解决方案文件夹文章来源地址https://www.toymoban.com/news/detail-737232.html

到了这里,关于OPENCV 编译选项以及解释的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Opencv 源码编译以及调用相关

    源码下载, 注意其中的 batch , 选择一致。 安装依赖 比较简单的编译选项 关于其中的 -j 选项说明 选定视频编解码框架编译到opencv中 安装gstreamer 安装ffmpeg 编译配置 https://github.com/opencv/opencv/issues/22132

    2024年02月11日
    浏览(41)
  • opencv4.7.0编译opencv-contrib-4.7.0以及CUDA

    最近工作中需要用到使用CUDA加速后的opencv进行传统算法的开发,在编程之前,需要先解决环境编译和lib库问题,本文就是记录自己编译opencv-4.7.0的全过程。 可参考我之前的博客WIN10安装配置TensorRT详解中的前几节,可以清楚的知道如何在Windows10系统上安装适合自己的CUDA以及验

    2024年02月15日
    浏览(50)
  • cmake 编译opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版以及vs2022配置opencv-gpu

    cmake 编译opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版本编译方法相同,本文以opencv4.5.5为例 一定确保已经成功安装了cuda工具包,以及VS编译器,清单如下 cuda工具包 visual studio 编译器 cmake构建工具 opencv源码 opencv-contrib源码 1.1 cmake构建工具下载 https://cmake.org/download/ 1.2 opencv源码下载 官网

    2023年04月25日
    浏览(48)
  • Ubuntu系统安装opencv的python版本以及编译安装C++版本

    目录 1.opencv的python 版本安装方式(python版本可以直接安装,无需编译) (1)方法一:利用pip的方式安装 (2)方法二:利用apt-get方式安装  2.opencv的C++版本的安装方式(以3.4.12版本为例,其他的也类似) (1)安装构建工具和所有的依赖软件包: (2) 新建文件夹名称为opencv_b

    2024年02月06日
    浏览(41)
  • OpenCV中world模块介绍

          OpenCV中有很多模块,模块间保持最小的依赖关系 ,用户可以根据自己的实际需要链接相关的库,而不需链接所有的库,这样在最终交付应用程序时可以减少总库的大小。但如果需要依赖OpenCV的库太多,有时会带来不方便,此时可以使用OpenCV的world模块。       OpenCV中的

    2024年02月04日
    浏览(27)
  • opencv 报错“找不到opencv_world341d.dll ”的解决方法

    之前家里的电脑上有opencv,但是公司最近的项目中又用到了,只能重新一个版本,个人使用的是vs2022  ,找不到“找不到opencv_world341d.dll ”,今天从网上看到一个解决方法, 1、C:WindowsSystem32  2、找到opencv的这个目录下面D:opencv_installbuildx64vc14bin,找到 将其拷贝到C:Windows

    2024年02月12日
    浏览(42)
  • OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture

    OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture 出现这种情况基本是因为: VideoCapture 读取视频路径错误。 比如:在这里我电脑不知道为什么默认摄像头是1不是0,所以视频读取错误,我改为 VideoCapture cap(1)就对了。 同理,如果调用的不是

    2024年01月23日
    浏览(42)
  • OpenCV中blobFromImage函数详细解释

    在 OpenCV 3.3 之后的版本中,支持调用训练好的深度学习框架,其中有一些重要的函数,今天先总结一下blobFromImage函数的用法。 在进行深度学习或者图片分类时, blobFromImage 主要是用来对图片进行预处理。包含两个主要过程: 整体像素值减去平均值**(mean)** 通过缩放系数

    2024年02月08日
    浏览(38)
  • Visual Studio 2022 报错 LNK1104 无法打开文件“opencv_world310.lib”

    “link.exe”已退出,代码为 1104。 LNK1104 无法打开文件“opencv_world310.lib” 右键项目——属性—— 附加依赖项——编辑——取消勾选“从父级或项目默认设置继承”——确认,重新运行程序即可 运行结果 可能是以前电脑上安装过旧版本的visual studio,老版本文件与新版的vs不兼

    2024年02月16日
    浏览(52)
  • 详细解释opencv python中的 cv.approxPolyDP

    在OpenCV Python中,cv.approxPolyDP是一个用于多边形逼近的函数。它使用Douglas-Peucker算法来减少多边形的点数。 该函数需要两个参数:输入多边形和一个表示逼近精度的参数。输入多边形是一个由点组成的数组,而逼近精度是一个用于控制轮廓近似的精度参数。 该函数在输入多边

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包