OpenCV (Open Source Computer Vision Library) — библиотека с открытым исходным кодом, предназначенная для разработки прикладных систем компьютерного зрения и машинного обучения. Изначально разработанная для ускорения внедрения алгоритмов обработки изображений и видео в реальном времени, библиотека предоставляет широкий набор инструментов для работы с изображениями, потоками камер, видеофайлами и данными датчиков. OpenCV распространяется на условиях свободной лицензии, что делает её доступной для использования в академических, исследовательских и коммерческих проектах.
Проект объединяет реализации более чем двух тысяч алгоритмов и утилит, охватывающих базовые операции с изображениями, функции обнаружения и распознавания объектов, методы восстановления структуры сцены, построение 3D-моделей, а также инструменты для обучения и применения моделей машинного обучения. OpenCV поддерживает несколько языков программирования через официальные и сторонние привязки, включая C++, Python и Java, и обеспечивает совместимость с разнообразными аппаратными платформами, включая CPU, GPU и мобильные устройства.
- Обработка изображений: преобразования цветовой модели, фильтрация, выравнивание гистограмм, морфологические операции, сжатие и преобразования геометрии.
 - Анализ контуров и сегментация: извлечение границ, построение контуров, сегментация по порогу, алгоритмы разделения объектов на регионы.
 - Детектирование и распознавание объектов: методы обнаружения лиц и ключевых точек, распознавание образов, классификация объектов с использованием традиционных и обучаемых подходов.
 - Калибровка и стереозрение: инструменты для калибровки камер, вычисления матриц проекции, оценка глубины по паре изображений и восстановление 3D-координат.
 - Оптический поток и отслеживание: алгоритмы оценки движения пикселей между кадрами, трекинг объектов и поведение на основе последовательностей изображений.
 - Обработка видео и работы с потоками: чтение/запись видеофайлов, захват с камер, синхронизация кадров и работа с кодеками через обёртки.
 - Машинное обучение и глубокое обучение: встроенные классификаторы, поддержка тренировочных и предсказательных процедур, интеграция с внешними фреймворками для запуска нейронных сетей.
 - Оптимизация и аппаратное ускорение: возможности векторизации, поддержка многопоточности, использование GPU через CUDA, OpenCL и другие бэкенды для повышения производительности.
 - Инструменты для разработки и тестирования: утилиты для визуализации результатов, отладки алгоритмов, а также примеры и документация для быстрого прототипирования.
 - Совместимость и расширяемость: модульная архитектура, возможность написания собственных модулей и интеграции сторонних библиотек для специализированных задач.