OpenCV
(
англ.
open source computer vision library
) — библиотека алгоритмов
компьютерного зрения
,
обработки изображений
и численных алгоритмов общего назначения с
открытым кодом
. Реализована на
Си
/
C++
, также разрабатывается для
Python
,
Java
,
Ruby
,
Matlab
,
Lua
и других языков
. Может свободно использоваться в академических и коммерческих целях — распространяется в условиях
лицензии BSD
.
Первая версия OpenCV была написана на
Си
, начиная со второй версии был осуществлён переход на
C++
. Все новые разработки и алгоритмы появляются в API C++
. Поддерживается привязки на
Python
,
Java
и
MATLAB
/Octave.
Значительная часть проекта разработана российской компанией Itseez, поглощённой в мае 2016 года корпорацией
Intel
.
Поддерживается на
Microsoft Windows
(компиляторы Microsoft Visual C++ (6.0, .NET 2003), Intel Compiler, Borland C++,
(
GCC
3.x)),
Windows RT
,
Linux
(
GCC
2.9x, 3.x, Intel Compiler),
macOS
,
Android
,
iOS
.
Поддерживаемые средства
графического интерфейса
и видеозахвата в
Windows
—
,
,
,
; в
Linux
—
V4L2
,
,
FFMPEG
; в
macOS
—
QuickTime
.
Основные модули
В версии 2.2 библиотека была реорганизована. Вместо универсальных модулей cxcore, cvaux, highGUI и других было создано несколько компактных модулей с более узкой специализацией:
-
opencv_core — основная функциональность. Включает в себя базовые структуры, вычисления (математические функции, генераторы случайных чисел) и линейную алгебру,
DFT
,
DCT
, ввод-вывод для XML и YAML.
-
opencv_imgproc — обработка изображений (фильтрация, геометрические преобразования, преобразование цветовых пространств).
-
opencv_highgui — простой интерфейс, ввод-вывод изображений и видео.
-
opencv_ml — модели машинного обучения (SVM, деревья решений, обучение со стимулированием и т. д.).
-
opencv_features2d — распознавание и описание плоских примитивов (
, FAST и другие, включая специализированный фреймворк).
-
opencv_video — анализ движения и отслеживание объектов (
оптический поток
, шаблоны движения, устранение фона).
-
opencv_objdetect — обнаружение объектов на изображении (нахождение лиц с помощью
алгоритма Виолы-Джонса
, распознавание людей HOG).
-
opencv_calib3d — калибровка камеры, поиск стерео-соответствия и элементы обработки трёхмерных данных.
-
opencv_flann — библиотека быстрого поиска ближайших соседей (FLANN 1.5) и обёртки OpenCV.
-
opencv_contrib — сопутствующий код, ещё не готовый для применения.
-
opencv_legacy — устаревший код, сохранённый ради обратной совместимости.
-
opencv_gpu — ускорение некоторых функций OpenCV за счет
CUDA
, создан при поддержке
NVidia
.
См. также
Примечания
-
— 2023.
-
(англ.)
-
↑
Bradsky G., Kaehler A.
от 28 декабря 2008 на
Wayback Machine
— O’Reilly, 2008. — C. 1 —
ISBN 978-0-596-51613-0
-
(амер. англ.)
.
Intel Newsroom
. Дата обращения: 19 августа 2022.
19 августа 2022 года.
-
East-West Digital News.
(амер. англ.)
(31 мая 2016). Дата обращения: 19 августа 2022.
19 августа 2022 года.
Литература
-
Кэлер А., Брэдски Г.
Изучаем 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
.
-
Прохоренок Н.
OpenCV и Java. Обработка изображений и компьютерное зрение. —
СПб.
:
, 2018. — 320 с. —
ISBN 978-5-9775-3955-5
.
Ссылки