Repolode
bytedeco

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. 1

    Установите JDK Java SE 8 или новее

  2. 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 и при необходимости синхронизацию с озвучкой.

24227PythonMITОбновлён в прошлом месяце