BoofCV

纯 Java 视觉库,Android 上跑标定、跟踪和三维重建

BoofCV 是一个用纯 Java 编写的高性能计算机视觉库,主要面向机器人、移动端和嵌入式场景。它解决了 Java 生态中缺少可离线运行、无需本地依赖的视觉算法库的问题,尤其适合 Android 应用。核心能力覆盖相机标定、运动恢复结构(SFM)、三维重建、基准标记识别(如 Aztec Code、Micro QR Code)、目标跟踪、图像处理与特征提取等。所有算法均以 Java 实现,不依赖 OpenCV 原生库,可直接打包进 APK 或桌面应用,兼顾实时性与可移植性。项目提供丰富的示例、可视化调试工具和模块化 API,方便开发者按需裁剪功能,降低集成门槛。

开源 free 计算机视觉
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1196
维护状态 较活跃
是否开源
定价模式 free

项目数据

分类计算机视觉
开发团队lessthanoptimal
所属国家
官网地址http://boofcv.org
定价模式free
价格说明开源免费,官网提供文档与下载
访问状态
是否开源
开源协议
主要语言Java
技术栈/模型3d-reconstruction,3d-vision,android,aztec-code,camera-calibration,computer-vision,image-processing,java,micro-qr-code,micro-qrcode,photogrammetry,qr-code,qrcode,qrcode-generator,qrcode-scanner,stereo-vision,structure-from-motion
GitHub 星标★ 1196
30天Star增速
HF 下载量
上线时间2011-04-19 00:00:00
最近更新2026-09-05 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-18
浏览次数0

使用教程

难度:入门 约 15 分钟 部署方式:库/依赖 6 步

环境要求

  • Java 11 或更高版本(任意免费发行版均可,如 Zulu)
  • Git,且需支持 --recursive 子模块拉取
  • 无需预先安装 Gradle,仓库自带 gradlew 脚本
  • 需联网,Gradle 会自动下载所需依赖

安装与启动步骤

  1. 1克隆仓库

    使用 --recursive 参数克隆 SNAPSHOT 分支源码,否则子模块数据目录会为空。

    git clone -b SNAPSHOT --recursive https://github.com/lessthanoptimal/BoofCV.git boofcv
  2. 2补全子模块

    若克隆时漏掉 --recursive 导致数据目录为空,进入目录后手动初始化子模块。

    cd boofcv
    git submodule update --init --recursive
  3. 3清理旧代码

    删除 main 目录下过期的自动生成代码,避免构建时使用陈旧文件。

    cd boofcv
    git clean -fd main
  4. 4生成代码

    用 Gradle 脚本自动生成所需的源码,首次运行会下载构建依赖。

    ./gradlew autogenerate
  5. 5运行示例

    打包 examples 并运行,示例代码位于 boofcv/examples,适合首先阅读。

    ./gradlew examplesJar
    java -jar examples/examples.jar
  6. 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

项目介绍

BoofCV 是一个计算机视觉领域的开源项目,官方简介:Fast computer vision library for SFM, calibration, fiducials, tracking, image processing, and more.。项目使用 Java 开发,在 GitHub 上获得 1196 星标。

上一篇:kornia-rs

下一篇:vision-demos

同类项目推荐

modlens 开源

给纯文本编码代理装上眼睛,粘贴图片即刻获得结构化视觉证据。

The first vision plugin for DeepSeek Harness, and the vision bridge for every text-o···

★ 3973 2026-08-19
opencv 开源

开箱即用的视觉算法库,搞定图像视频处理与识别

Open Source Computer Vision Library

★ 90860 2026-08-10
OpenCVTutorials 开源

中文 OpenCV 教程,从入门到实战,边看边跑代码

OpenCV-Python4.1 中文文档

★ 1430 2026-08-20
DEIMv2 开源

用DINOv3做实时检测,又快又准,直接落地。

[DEIMv2] Real Time Object Detection Meets DINOv3

★ 2032 2026-08-14