Что предоставляют дополнительные библиотеки в сборке OpenCV? - PullRequest
9 голосов
/ 21 сентября 2011

Я пытаюсь собрать OpenCV из исходного кода (последняя магистраль SVN), и есть несколько «необязательных» зависимостей, которые могут составлять несколько гигабайт загрузки самостоятельно, особенно с Qt Framework. Например:

  • CUDA
  • GHOSTSCRIPT
  • MikTex
  • ПИТОН
  • Эйген
  • IPP
  • ЯШМА
  • JPEG
  • OpenExr
  • OpenNI
  • PNG
  • QT
  • QT_OPENGL
  • TBB
  • TIFF
  • ВИДЕОВХОД
  • XIMEA

Может ли кто-нибудь предоставить список того, что предоставляет каждая из этих внешних вещей - ранжированных по важности? (Иногда субъективные ответы являются наиболее проницательными.) Какие из них встроены в бинарный дистрибутив?

1 Ответ

21 голосов
/ 21 сентября 2011

Обычно вы можете оставить все флаги в состоянии по умолчанию, если вам не нужно включать или отключать некоторые специальные функции.Все действительно важные библиотеки уже есть.

Параметры, которые вы прослушали, можно разделить на несколько групп:

Ввод / вывод изображения На самом деле OpenCV поставляется с копией этих библиотек для платформ, где эти библиотеки отсутствуют (например, Windows или Android).

Видео IO

  • VIDEOINPUT - видео IOAPI для платформы Windows.Начиная с версии 2.3.0 OpenCV встраивает его, и этот флаг полезен только для исключения библиотеки видеовхода из сборки.
  • OPENNI - драйвер для Kinect
  • XIMEA - API для камер XIMEA

Библиотеки примитивов производительности

  • IPP - несколько десятков функций OpenCV имеют ускорение IPPверсии.
  • TBB - OpenCV имеет ряд функций, распараллеленных с библиотекой Intel TBB.
  • EIGEN - некоторые математические функции (например, SVD) могут использовать мощность библиотеки Eigen, но OpenCV всегда предоставляет альтернативную реализацию.

Ускорение графического процессора

  • CUDA - OpenCV поставляется с модулем gpu, обладающим множеством функций, ускоренных технологией NVIDIA CUDA.Если CUDA SDK не найден, все функции ухудшаются до реализации ЦП.

Улучшенный графический интерфейс

  • QT - OpenCVФункции графического интерфейса (например, imshow) имеют версию QT.Без QT они по умолчанию будут использовать собственные интерфейсы ОС.(В случае Windows это будет WinAPI).
  • QT_OPENGL

Привязки к другим языкам

  • PYTHON - также привязки сборки для языка Python

Строительная документация

  • GHOSTSCRIPT - устарел в 2.3.x (не влияет на сборку)
  • MIKTEX - только для Windows.Используется для создания документации в формате PDF

На самом деле это лишь частичный ответ на ваш вопрос.Вы прослушали менее половины параметров, которые можно установить на этапе настройки OpenCV - другая половина скрыта, поскольку эти параметры недоступны для вашей платформы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...