开源计算机视觉库,提供图像处理与计算机视觉算法,支持多种语言调用。
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
安装 Java SE 8 或更高版本的 JDK
- 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 数据每日更新。
相关项目
将白板风格图片渲染为手绘书写动画 MP4 的命令行工具与 Python 库,可按配音节奏调整绘制速度。
开源 OCR 引擎(libtesseract)及命令行工具,可从图片中识别文字,支持 100 多种语言。
基于 C++ 的视频结构化分析框架,以可插拔节点组成流水线,覆盖取流、推理、跟踪与输出。
15 支 10 秒 MG 动态设计短片,每种风格均由 Claude 编写代码生成,并公开提示词与完整源码。
基于 FFmpeg 的跨平台图形界面工具,无需重新编码即可无损剪切、裁剪和转封装音视频。