OpenCV 构建中的可选库提供什么?

发布于 2024-12-05 18:29:44 字数 448 浏览 2 评论 0 原文

我正在尝试从源代码(最新的 SVN 主干)构建 OpenCV,并且有几个“可选”依赖项,它们本身的下载量将达到数 GB,尤其是使用 Qt 框架时。 例如:

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

有人可以提供每个外部事物提供的列表 - 按重要性排名吗? (有时主观答案是最有洞察力的答案。)哪些是内置于二进制发行版中的?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

撩发小公举 2024-12-12 18:29:44

通常您可以将所有标志保留为默认状态,除非您需要启用或禁用某些特殊功能。所有真正重要的库都已经在那里了。

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

图像输入/输出
实际上,OpenCV 附带了这些库的副本,适用于缺少这些库的平台(例如 Windows 或 Android)。

Video IO

  • VIDEOINPUT - Windows 平台的视频 IO API。由于版本 2.3.0 OpenCV 嵌入了它,并且该标志仅用于从构建中排除视频输入库。
  • OPENNI - Kinect
  • XIMEA - 用于 XIMEA 相机的 API

性能基元库

  • IPP - 几十个 OpenCV 函数都有 IPP 加速版本。
  • TBB - OpenCV 有许多与英特尔 TBB 库并行的函数。
  • EIGEN - 一些数学函数(如 SVD)可以使用 Eigen 库的强大功能,但 OpenCV 始终提供替代实现。

GPU 加速

  • CUDA - OpenCV 附带 gpu< /code> 模块具有许多通过 NVIDIA CUDA 技术加速的功能。如果未找到 CUDA SDK,则所有功能都会降级为 CPU 实现。

增强型 GUI

  • QT - OpenCV GUI 功能(如 imshow) 有 QT 版本。如果没有 QT,它们将默认使用本机操作系统界面。 (如果是 Windows,则为 WinAPI)。
  • QT_OPENGL

与其他语言的绑定

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

构建文档

  • GHOSTSCRIPT - 在 2.3.x 中已过时(不影响构建)
  • MIKTEX - Windows 仅有的。用于生成 PDF 格式的文档

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文