lessthanoptimal/BoofCV

Fast computer vision library for SFM, calibration, fiducials, tracking, image processing, and more.

What it solves

BoofCV provides a comprehensive suite of real-time computer vision tools for Java developers, eliminating the need to rely on native libraries for core vision tasks. It offers a wide range of functionality for processing images and video in real-time.

How it works

Written entirely in Java, the library is modularized into a core library (boofcv-core) and several integration modules for specific platforms or formats (such as Android, FFmpeg, and JavaCV). It leverages specialized libraries for matrix operations (EJML) and geometric regression (GeoRegression) to perform complex vision calculations.

Who it’s for

Java and Kotlin developers who need to implement computer vision capabilities—such as camera calibration, feature tracking, and object recognition—into their applications without leaving the JVM ecosystem.

Highlights

  • Real-time performance for computer vision tasks.
  • Comprehensive feature set including low-level image processing, structure-from-motion, and classification.
  • Pure Java implementation, making it easier to integrate into Java-based environments.
  • Support for Android devices via a dedicated module.