BoofCV is an open source Java library for real-time computer vision and robotics applications. Written from scratch for ease of use and high performance. Its functionality covers a wide range of subjects including, optimized low-level image processing routines, camera calibration, feature detection/tracking, structure-from-motion, and recognition. BoofCV has been released under an Apache 2.0 license for both academic and commercial use.
BoofCV is organized into several packages: image processing, features, geometric vision, calibration, recognition,visualize, and IO. Image processing contains commonly used image processing functions which operate directly on pixels. Features contains feature extraction algorithms for use in higher level operations. Calibration has routines for determining the camera's intrinsic and extrinsic parameters. Recognition is for recognition and tracking complex visual objects. Geometric vision is composed of routines for processing extracted image features using 2D and 3D geometry. Visualize has routines for rendering and displaying extracted features. IO has input and output routines for different data structures.