OpenCV — библиотека компьютерного зрения с открытым исходным кодом на C++, включающая алгоритмы обработки изображений и привязки для нескольких языков.
bytedeco/javacv
Java-обёртки и вспомогательные классы для OpenCV, FFmpeg и других библиотек компьютерного зрения и мультимедиа.
- Звёзды
- 8,350
- Форки
- 1,615
- Открытые issues
- 466
- Последний коммит
- 2 месяца назад
Что это?
JavaCV предоставляет разработчикам на Java доступ к широко используемым библиотекам компьютерного зрения и мультимедиа, таким как OpenCV и FFmpeg. Обёртки построены на JavaCPP Presets, а определения классов близко следуют исходным заголовочным файлам C/C++, поэтому API OpenCV и FFmpeg можно вызывать почти так же, как в нативном коде.
Помимо низкоуровневых привязок, JavaCV предоставляет вспомогательные классы для распространённых задач: аппаратно-ускоренного отображения изображений (CanvasFrame, GLCanvasFrame), захвата кадров с камер и из видеофайлов через FrameGrabber, записи видео через FrameRecorder, калибровки камер и проекторов, сопоставления ключевых точек и анализа блобов. Конвертеры позволяют работать с кадрами через Java 2D, Android-битмапы и объекты OpenCV Mat.
Зависимости распространяются через Maven Central в виде javacv-platform, который включает нативные бинарные файлы для Linux, macOS, Windows и Android. Для некоторых классов также доступны варианты с поддержкой OpenCL и OpenGL.
Ключевые возможности
- 01Java-привязки для OpenCV и FFmpeg с API, повторяющими оригинальные интерфейсы C/C++.
- 02Захват видео с камер и из видеофайлов с помощью реализаций FrameGrabber.
- 03Кодирование и вывод видео через FrameRecorder.
- 04Аппаратно-ускоренное отображение изображений с помощью CanvasFrame и GLCanvasFrame.
- 05Вспомогательные средства для калибровки камер и проекторов, сопоставления ключевых точек и анализа блобов.
- 06Нативные бинарные файлы для разных платформ, включая Android, распространяются через Maven и Gradle.
Сценарии использования
- Разработка приложений для обработки изображений и компьютерного зрения на Java или Kotlin.
- Захват кадров с веб-камеры или видеопотока и обработка в реальном времени.
- Транскодирование или запись видеофайлов на Java-бэкенде.
- Добавление обнаружения лиц или анализа контуров в приложение на JVM.
Быстрый старт
- 1
Установите JDK Java SE 8 или новее
- 2
Добавьте зависимость javacv-platform версии 1.5.14 в файл pom.xml (Maven) или build.gradle (Gradle)
Что важно знать
- Лицензия проекта не указана в метаданных однозначно (NOASSERTION), поэтому проверьте её перед использованием.
- Зависимость javacv-platform загружает нативные бинарные файлы для всех платформ и занимает много места, если не задать свойство javacpp.platform.
- Модули для 32- и 64-разрядных систем нельзя смешивать, поэтому разрядность всех компонентов должна совпадать.
Темы
Частые вопросы
- Что такое javacv?
- Java-обёртки и вспомогательные классы для OpenCV, FFmpeg и других библиотек компьютерного зрения и мультимедиа. JavaCV предоставляет разработчикам на Java доступ к широко используемым библиотекам компьютерного зрения и мультимедиа, таким как OpenCV и FFmpeg. Обёртки построены на JavaCPP Presets, а определения классов близко следуют исходным заголовочным файлам C/C++, поэтому API OpenCV и FFmpeg можно вызывать почти так же, как в нативном коде.
- javacv можно использовать бесплатно? Какая у него лицензия?
- javacv распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- javacv всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в javacv — 12 авг. 2026 г..
- Для чего можно использовать javacv?
- Разработка приложений для обработки изображений и компьютерного зрения на Java или Kotlin. Захват кадров с веб-камеры или видеопотока и обработка в реальном времени. Транскодирование или запись видеофайлов на Java-бэкенде. Добавление обнаружения лиц или анализа контуров в приложение на JVM.
- Как установить javacv?
- Установите JDK Java SE 8 или новее Добавьте зависимость javacv-platform версии 1.5.14 в файл pom.xml (Maven) или build.gradle (Gradle)
- Где скачать javacv?
- Исходный код и инструкции по установке — на GitHub: https://github.com/bytedeco/javacv
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Утилита командной строки и библиотека Python, которые превращают изображение в стиле доски для рисования в MP4 с прорисовкой от руки, используя CPU и при необходимости синхронизацию с озвучкой.
Open-source OCR-движок libtesseract и CLI для распознавания текста на изображениях: LSTM-распознавание и поддержка более 100 языков.
Фреймворк на C++ для анализа видео, который объединяет чтение потоков, инференс моделей, трекинг и вывод данных в настраиваемые узлы конвейера.
Пятнадцать 10-секундных motion design-фильмов, каждый создан Claude с помощью кода; для каждого стиля опубликованы промпт и полный исходный код.
Кроссплатформенный GUI для FFmpeg, позволяющий без перекодирования вырезать и обрезать видео- и аудиофайлы, а также выполнять их ремультиплексирование.