Repolode
bytedeco

bytedeco/javacv

为 OpenCV、FFmpeg 等计算机视觉与多媒体库提供 Java 接口和工具类。

Star
8,350
Fork
1,615
未关闭 Issue
466
最近提交
2个月前

这是什么?

JavaCV 为 Java 开发者提供 OpenCV、FFmpeg 等常用计算机视觉与多媒体库的访问能力。封装基于 JavaCPP Presets 生成,类定义尽量保留原始 C/C++ 头文件的语法,调用方式与原生代码接近。

除底层绑定外,JavaCV 还提供一些常用辅助类:支持硬件加速的图像显示(CanvasFrame、GLCanvasFrame),通过 FrameGrabber 从摄像头和视频文件采集画面,用 FrameRecorder 写入视频,以及相机与投影仪标定、特征点匹配和 Blob 分析等功能。转换器可在 Frame 与 Java 2D、Android Bitmap、OpenCV Mat 之间互相转换。

依赖通过 Maven Central 以 javacv-platform 的形式发布,内含 Linux、macOS、Windows 和 Android 的原生二进制文件。

核心功能

  • 01提供 OpenCV 和 FFmpeg 的 Java 绑定,API 与 C/C++ 原始接口保持一致。
  • 02通过 FrameGrabber 实现支持摄像头和视频文件的画面采集。
  • 03通过 FrameRecorder 进行视频编码与输出。
  • 04借助 CanvasFrame 和 GLCanvasFrame 实现硬件加速的图像显示。
  • 05提供相机与投影仪标定、特征点匹配和 Blob 分析等辅助工具。
  • 06通过 Maven 和 Gradle 发布原生二进制包,覆盖多个平台,包括 Android。

适用场景

  • 使用 Java 或 Kotlin 开发图像处理与计算机视觉应用。
  • 采集摄像头或视频流画面并进行实时处理。
  • 在 Java 后端对视频文件进行转码或录制。
  • 为基于 JVM 的应用加入人脸检测或轮廓分析功能。

快速上手

  1. 1

    安装 Java SE 8 或更高版本的 JDK

  2. 2

    在 pom.xml(Maven)或 build.gradle(Gradle)中添加 javacv-platform 依赖,版本为 1.5.14

使用前须知

  • 元数据中的许可证不明确(NOASSERTION),使用前请先确认许可证。
  • javacv-platform 依赖会下载所有平台的原生二进制文件,体积较大,除非设置 javacpp.platform 属性。
  • 32 位和 64 位模块不能混用,所有组件必须位数一致。

标签

常见问题

javacv 是什么?
为 OpenCV、FFmpeg 等计算机视觉与多媒体库提供 Java 接口和工具类。 JavaCV 为 Java 开发者提供 OpenCV、FFmpeg 等常用计算机视觉与多媒体库的访问能力。封装基于 JavaCPP Presets 生成,类定义尽量保留原始 C/C++ 头文件的语法,调用方式与原生代码接近。
javacv 可以免费使用吗?用的什么许可证?
javacv 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
javacv 还在维护吗?
半年内有更新。javacv 最近一次提交是在 2026年8月12日。
javacv 适合用来做什么?
使用 Java 或 Kotlin 开发图像处理与计算机视觉应用。 采集摄像头或视频流画面并进行实时处理。 在 Java 后端对视频文件进行转码或录制。 为基于 JVM 的应用加入人脸检测或轮廓分析功能。
javacv 怎么安装和运行?
安装 Java SE 8 或更高版本的 JDK 在 pom.xml(Maven)或 build.gradle(Gradle)中添加 javacv-platform 依赖,版本为 1.5.14
在哪里获取 javacv?
源代码和安装说明在 GitHub 上:https://github.com/bytedeco/javacv

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目