OpenCV构建中的可选库提供了什么? [英] What do the optional libraries in the OpenCV build provide?

查看:163
本文介绍了OpenCV构建中的可选库提供了什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图从源代码(最新的SVN中继)构建OpenCV,并有几个可选依赖,这将达到几千兆字节下载自己,特别是与Qt框架。
例如:




  • CUDA

  • GHOSTSCRIPT

  • MIKTEX

  • PYTHON

  • EIGEN

  • IPP

  • JASPER

  • JPEG

  • OPENEXR

  • OPENNI


  • QT

  • QT_OPENGL

  • TBB

  • li>
  • VIDEOINPUT

  • XIMEA



这些外部事物提供了什么 - 按重要性排序?

解决方案

通常你可以留下所有的标志处于默认状态,除非您需要启用或禁用某些特殊功能。



您收听的选项可以分为以下几组:



图片输入/输出

实际上,OpenCV为这些库缺失的平台(如Windows或Android)提供了这些库的副本。





视频IO




  • VIDEOINPUT - 适用于Windows平台的视频IO API。自从版本2.3.0 OpenCV嵌入它,并且此标记仅用于从构建中排除视频输入库。

  • OPENNI
  • XIMEA - 适用于XIMEA相机的API
  • li>


效能图元库




  • IPP - 几十个OpenCV功能具有IPP加速版本。

  • TBB - OpenCV具有许多与英特尔TBB库并行的功能。

  • EIGEN - 一些数学函数(如SVD)可以使用Eigen库的幂,但OpenCV始终提供

    GPU加速




    • CUDA - OpenCV附带 gpu 使用NVIDIA CUDA技术加速的许多功能的模块。如果未找到CUDA SDK,则所有功能都会降级到CPU实现。



    >


    • QT - OpenCV GUI功能(如 imshow )有一个QT版本。没有QT,它们将默认为本机操作系统接口。 (在Windows的情况下它将是WinAPI)。

    • QT_OPENGL



    绑定到其他语言




    • PYTHON - 还为Python语言构建绑定


    • $ b b

      • GHOSTSCRIPT - 在2.3.x中过时(不影响版本)

      • MIKTEX - 仅限Windows。用于生成PDF格式的文档



    实际上,这只是您问题的部分答案。您已经聆听了在OpenCV配置步骤中可以设置的不到一半的选项 - 其他一半被隐藏,因为这些选项不适用于您的平台。


    I am trying to build OpenCV from source (latest SVN trunk) and there are several "optional" dependencies, which will amount to several gigabytes of downloading on their own, especially with the Qt Framework. For example:

    • CUDA
    • GHOSTSCRIPT
    • MIKTEX
    • PYTHON
    • EIGEN
    • IPP
    • JASPER
    • JPEG
    • OPENEXR
    • OPENNI
    • PNG
    • QT
    • QT_OPENGL
    • TBB
    • TIFF
    • VIDEOINPUT
    • XIMEA

    Can someone provide a list of what each of these external things provides - ranked by importance? (Sometimes subjective answers are the most insightful answers.) Which ones are built in the binary distribution?

    解决方案

    Usually you can leave all the flags in default state unless you need to enable or disable some special features. All really important libraries are already there.

    Options you listened can be split into several groups:

    Image input/output
    Actually OpenCV comes with a copy of these libraries for platforms where these libraries are missed (like Windows or Android).

    Video IO

    • VIDEOINPUT - video IO API for Windows platform. Since version 2.3.0 OpenCV embeds it and this flag is useful only to exclude videoinput library from build.
    • OPENNI - driver for Kinect
    • XIMEA - API for XIMEA cameras

    Libraries of performance primitives

    • IPP - few dozens of OpenCV functions have IPP accelerated versions.
    • TBB - OpenCV has a number of functions parallelized with Intel TBB library.
    • EIGEN - some math functions (like SVD) can use power of Eigen library but OpenCV always provides alternative implementation.

    GPU acceleration

    • CUDA - OpenCV comes with gpu module having a lot of functions accelerated with NVIDIA CUDA technology. If CUDA SDK is not found, then all functions degrade to CPU implementation.

    Enhanced GUI

    • QT - OpenCV GUI functions (like imshow) has a QT version. Without QT they will default to native OS interfaces. (In case of Windows it will be WinAPI).
    • QT_OPENGL

    Bindings to other languages

    • PYTHON - also build bindings for Python language

    Building documentation

    • GHOSTSCRIPT - obsolete in 2.3.x (does not affect build)
    • MIKTEX - Windows only. Used to generate documentation in PDF format

    Actually this is just a partial answer to your question. You have listened less than half of the options that can be set on OpenCV configuration step - other half is hidden because those options are not available for your platform.

    这篇关于OpenCV构建中的可选库提供了什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆