
BoofCV
纯 Java 视觉库,Android 上跑标定、跟踪和三维重建
BoofCV 是一个用纯 Java 编写的高性能计算机视觉库,主要面向机器人、移动端和嵌入式场景。它解决了 Java 生态中缺少可离线运行、无需本地依赖的视觉算法库的问题,尤其适合 Android 应用。核心能力覆盖相机标定、运动恢复结构(SFM)、三维重建、基准标记识别(如 Aztec Code、Micro QR Code)、目标跟踪、图像处理与特征提取等。所有算法均以 Java 实现,不依赖 OpenCV 原生库,可直接打包进 APK 或桌面应用,兼顾实时性与可移植性。项目提供丰富的示例、可视化调试工具和模块化 API,方便开发者按需裁剪功能,降低集成门槛。
项目数据
使用教程
环境要求
- Java 11 或更高版本(任意免费发行版均可,如 Zulu)
- Git,且需支持 --recursive 子模块拉取
- 无需预先安装 Gradle,仓库自带 gradlew 脚本
- 需联网,Gradle 会自动下载所需依赖
安装与启动步骤
-
1克隆仓库
使用 --recursive 参数克隆 SNAPSHOT 分支源码,否则子模块数据目录会为空。
git clone -b SNAPSHOT --recursive https://github.com/lessthanoptimal/BoofCV.git boofcv -
2补全子模块
若克隆时漏掉 --recursive 导致数据目录为空,进入目录后手动初始化子模块。
cd boofcv git submodule update --init --recursive -
3清理旧代码
删除 main 目录下过期的自动生成代码,避免构建时使用陈旧文件。
cd boofcv git clean -fd main -
4生成代码
用 Gradle 脚本自动生成所需的源码,首次运行会下载构建依赖。
./gradlew autogenerate -
5运行示例
打包 examples 并运行,示例代码位于 boofcv/examples,适合首先阅读。
./gradlew examplesJar java -jar examples/examples.jar -
6运行演示
打包 demonstrations 并运行,可查看可视化演示程序。
./gradlew demonstrationsJar java -jar demonstrations/demonstrations.jar
如何确认成功
执行 java -jar examples/examples.jar 后无报错并出现示例程序界面,即表示构建与运行成功。
常见问题
Q:克隆后数据目录是空的怎么办?
A:说明克隆时漏掉了 --recursive 参数。进入 boofcv 目录执行 git submodule update --init --recursive 即可补全子模块数据。
Q:本地 JDK 版本不兼容会构建失败吗?
A:不会。README 说明 Gradle 脚本会自己处理依赖,并忽略不兼容的本地 JDK,直接运行 ./gradlew 即可。
Q:需要自己安装 Gradle 吗?
A:不需要。仓库自带 gradlew 包装脚本,所有构建命令都用 ./gradlew 执行,它会自动下载所需内容。
Q:想构建应用(如相机标定、生成二维码)怎么做?
A:README 指向 applications/readme.md,其中包含构建与运行 Applications 的说明,可按该文档操作。
注意事项
- 全部算法均以纯 Java 实现,不依赖 OpenCV 原生库,可直接打包进桌面应用或 APK。
- 示例代码在 boofcv/examples,演示代码在 boofcv/demonstrations,建议先阅读示例代码。
- 构建与运行前请确认已安装 Java 11 或更高版本。
- 添加为 Gradle/Maven 依赖的方式见 README 的 “Adding to Gradle and Maven Projects” 章节。
核心亮点
- 纯 Java 实现,无原生依赖,Android 与桌面端可直接复用代码
- 内置相机标定、基准标记识别和 SFM 等完整视觉管线,开箱即用
- 提供可视化调试工具和大量示例,便于快速验证算法效果
不足之处
- 纯 Java 在极端性能场景下仍不及 C++ 原生库,高帧率或大分辨率处理需谨慎
- 部分高级三维重建与深度学习相关功能覆盖不如 OpenCV 全面
适用场景
- Android 机器人或手机端做相机标定与基准标记识别
- 嵌入式设备上实现实时目标跟踪与姿态估计
- 教学或原型开发中快速搭建 SFM 与三维重建流程
替代项目
OpenCV、JavaCV
项目介绍
上一篇:kornia-rs
下一篇:vision-demos
同类项目推荐
modlens
开源
给纯文本编码代理装上眼睛,粘贴图片即刻获得结构化视觉证据。
The first vision plugin for DeepSeek Harness, and the vision bridge for every text-o···
opencv
开源
开箱即用的视觉算法库,搞定图像视频处理与识别
Open Source Computer Vision Library
OpenCVTutorials
开源
中文 OpenCV 教程,从入门到实战,边看边跑代码
OpenCV-Python4.1 中文文档
DEIMv2
开源
用DINOv3做实时检测,又快又准,直接落地。
[DEIMv2] Real Time Object Detection Meets DINOv3