BoofCV

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

开源 🏷️完全免费 ✅ 目前可打开 计算机视觉 🍴 复刻 269 🐛 待处理 57 👀 关注 65
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1206
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,官网提供文档与下载

项目预览

BoofCV 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类计算机视觉
开发团队lessthanoptimal
官网地址http://boofcv.org
定价模式🏷️完全免费
价格说明开源免费,官网提供文档与下载
访问状态✅ 目前可打开
是否开源是
主要语言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 星标★ 1206
上线时间2011-04-19 00:00:00
代码更新2026-10-23
仓库体积48.5 MB
本站数据更新2026-11-03
维护状态较活跃
收录时间2026-09-18
浏览次数1

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-18 · 当前星标 ★ 1206

使用教程

难度:入门 约 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

上一篇:kornia-rs

下一篇:vision-demos

同类项目推荐

vision-demos 开源

克隆即跑的趣味 CV 演示,几分钟看到识别效果

Fun real-world computer vision demos!

★ 923 2026-09-18
mediapipe 开源

一套框架搞定跨平台实时 AI 视觉应用,手机浏览器都能跑

Cross-platform, customizable ML solutions for live and streaming media.

★ 37525 2026-08-10
tokenize-anything 开源

一个模型,提示任意视觉概念,统一分割与识别

[ECCV 2024] Tokenize Anything via Prompting

★ 602 2026-08-09
iOS-OCR-Server 开源

把 iPhone 变成局域网 OCR 接口

An iOS OCR Server Using Apple’s Vision Framework

★ 2097 2026-10-27
dsh-vision-router 开源

一条命令给文本 agent 装上眼睛,免费看图问答

Eyes for text-only DeepSeek Harness agents: built-in free vision chain (no key) + pi···

★ 1211 2026-09-19
LiDARCrafter 开源

从 LiDAR 序列直接生成动态 4D 世界,让机器看懂时空变化

[AAAI 2026 Oral] LiDARCrafter: Dynamic 4D World Modeling from LiDAR Sequences

★ 207 2026-08-09
tessera 开源

让卫星影像按时间流动,一键提取地表变化规律

[CVPR26] TESSERA is a foundation model that can process time-series satellite imager···

★ 770 2026-08-09
latent-diffusion-segmentation 开源

用扩散模型做开放世界分割,一句话就能分割并修复图像

A Simple Latent Diffusion Approach for Panoptic Segmentation and Mask Inpainting [EC···

★ 109 2026-08-09