项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-18 · 当前星标 ★ 1206
使用教程
环境要求
- 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
同类项目推荐
vision-demos
开源
克隆即跑的趣味 CV 演示,几分钟看到识别效果
Fun real-world computer vision demos!
mediapipe
开源
一套框架搞定跨平台实时 AI 视觉应用,手机浏览器都能跑
Cross-platform, customizable ML solutions for live and streaming media.
tokenize-anything
开源
一个模型,提示任意视觉概念,统一分割与识别
[ECCV 2024] Tokenize Anything via Prompting
iOS-OCR-Server
开源
把 iPhone 变成局域网 OCR 接口
An iOS OCR Server Using Apple’s Vision Framework
dsh-vision-router
开源
一条命令给文本 agent 装上眼睛,免费看图问答
Eyes for text-only DeepSeek Harness agents: built-in free vision chain (no key) + pi···
ncnn-android-ppocrv5
开源
在安卓手机上离线跑 PaddleOCR v5 实时识图取字
ncnn android paddle ocr v5
LiDARCrafter
开源
从 LiDAR 序列直接生成动态 4D 世界,让机器看懂时空变化
[AAAI 2026 Oral] LiDARCrafter: Dynamic 4D World Modeling from LiDAR Sequences
tessera
开源
让卫星影像按时间流动,一键提取地表变化规律
[CVPR26] TESSERA is a foundation model that can process time-series satellite imager···
latent-diffusion-segmentation
开源
用扩散模型做开放世界分割,一句话就能分割并修复图像
A Simple Latent Diffusion Approach for Panoptic Segmentation and Mask Inpainting [EC···
