OpenCV

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
OpenCV
OpenCV Logo with text svg version.svg
Face detection.jpg
Тип компьютерное зрение
Автор Intel Corporation, Willow Garage Inc., Itseez Ltd.
Разработчик Itseez
Написана на С++, Java, Python
Операционная система Linux, Mac OS X, iOS, Android и др. UNIX-подобные, Windows
Первый выпуск 2006
Последняя версия 3.4.1 (27 февраля 2018[1])
Состояние активное
Лицензия BSD
Сайт opencv.org

OpenCV (англ. Open Source Computer Vision Library, библиотека компьютерного зрения с открытым исходным кодом) — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом. Реализована на C/C++, также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков[2]. Может свободно использоваться в академических и коммерческих целях — распространяется в условиях лицензии BSD.

Применение[править | править код]

  • Для утверждения общего стандартного интерфейса компьютерного зрения для приложений в этой области. Для способствования росту числа таких приложений и создания новых моделей использования PC.
  • Сделать платформы Intel привлекательными для разработчиков таких приложений за счёт дополнительного ускорения OpenCV с помощью Intel® Performance Libraries (Сейчас включают IPP (низкоуровневые библиотеки для обработки сигналов, изображений, а также медиа-кодеки) и MKL (специальная версия LAPACK и FFTPack)). OpenCV способна автоматически обнаруживать присутствие IPP и MKL и использовать их для ускорения обработки.

Поддерживаемые платформы и инструменты[править | править код]

Сами библиотеки:

  • Microsoft Windows: компиляторы Microsoft Visual C++ (6.0, .NET 2003), Intel Compiler, Borland C++, Mingw (GCC 3.x).
  • Windows RT: портирован на ARM компанией Itseez[3].
  • Linux: GCC (2.9x, 3.x), Intel Compiler: «./configure-make-make install», RPM (spec файл включен в поставку).
  • Mac OS X: GCC (3.x, 4.x).
  • Android.
  • iOS.
  • Используются C и «облегченный» C++. Прагмы и условная компиляция используются очень ограниченно.

Средства GUI, захват видео:

Документация: статический HTML, PDF.

Основные модули[править | править код]

В версии 2.2 библиотека была реорганизована. Вместо универсальных модулей cxcore, cvaux, highGUI и других было создано несколько компактных модулей с более узкой специализацией:

  • opencv_core — основная функциональность. Включает в себя базовые структуры, вычисления (математические функции, генераторы случайных чисел) и линейную алгебру, DFT, DCT, ввод/вывод для XML и YAML и т. д.
  • opencv_imgproc — обработка изображений (фильтрация, геометрические преобразования, преобразование цветовых пространств и т. д.).
  • opencv_highgui — простой UI, ввод/вывод изображений и видео.
  • opencv_ml — модели машинного обучения (SVM, деревья решений, обучение со стимулированием и т. д.).
  • opencv_features2d — распознавание и описание плоских примитивов (SURF (англ.), FAST и другие, включая специализированный фреймворк).
  • opencv_video — анализ движения и отслеживание объектов (оптический поток, шаблоны движения, устранение фона).
  • opencv_objdetect — обнаружение объектов на изображении (нахождение лиц с помощью алгоритма Виолы-Джонса, распознавание людей HOG и т. д.).
  • opencv_calib3d — калибровка камеры, поиск стерео-соответствия и элементы обработки трёхмерных данных.
  • opencv_flann — библиотека быстрого поиска ближайших соседей (FLANN 1.5) и обертки OpenCV.
  • opencv_contrib — сопутствующий код, ещё не готовый для применения.
  • opencv_legacy — устаревший код, сохранённый ради обратной совместимости.
  • opencv_gpu — ускорение некоторых функций OpenCV за счет CUDA, создан при поддержке NVidia.

Примечания[править | править код]

  1. OpenCV 3.4
  2. Bradsky G., Kaehler A. Learning OpenCV — O’Reilly, 2008. — C. 1 — ISBN 978-0-596-51613-0
  3. Блог компании «Itseez» Как мы портировали OpenCV на WindowsRT Архивировано 8 февраля 2014 года.

Литература[править | править код]

  • Кэлер А., Брэдски Г. Изучаем OpenCV 3 = Learning OpenCV 3. — М.: ДМК-Пресс, 2017. — 826 с. — ISBN 978-5-97060-471-7.
  • Буэно, Суарес, Эспиноса. Обработка изображений с помощью OpenCV = Learning Image Processing with OpenCV. — М.: ДМК-Пресс, 2016. — 210 с. — ISBN 978-5-97060-387-1.

Ссылки[править | править код]