BoofCV is a Java library for real-time computer vision and robotics applications. Written from scratch for ease of use and high performance, it provides both basic and advanced features needed for creating a modern computer vision system. Functionality include highly optimized low level image processing routines (e.g. convolution, interpolation, gradient) to high level functionality such as image stabilization.
It is divided up into four package, 1) image processing, 2) features, 3) geometric vision, and 4) input output. Image processing contains core functionality which are most commonly used and typically operate directly on pixels. Features contains feature (e.g. points, lines, and regions) extraction algorithms for use in higher level operations. Geometric vision contains routines for processing extracted image features using 2D and 3D geometry. IO stands for input/output and contains common routines for reading in and displaying compute images.
BoofCV is still in an early development phase and is undergoing frequent changes.