libCVD is a very portable and high performance C++ library for computer vision, image, and video processing. The emphasis is on providing simple and efficient image and video handling and high quality implementations of common low-level image processing function. The library is designed in a loosely-coupled manner, so that parts can be used easily in isolation if the whole library is not required. The video grabbing module provides a simple, uniform interface for videos from a variety of sources (live and recorded) and allows easy access to the raw pixel data. Likewise, the image loading/saving module provides simple, uniform interfaces for loading and saving images from bitmaps to 64 bit per channel RGBA images. The image processing routines can be applied easily to images and video, and accelerated versions exist for platforms supporting SSE.
Gerbil consists of an interactive visualization tool targeted at multispectral and hyperspectral image data, and a toolbox of common algorithms, e.g. for segmentation. Multispectral imaging has been gaining popularity and has been gradually applied to many fields besides remote sensing. However, due to the high dimensionality of the data, both human observers and computers have difficulty interpreting this wealth of information. Gerbil facilitates the visualization of the relationship between spectral and topological information in a novel fashion. It puts emphasis on the spectral gradient, which is shown to provide enhanced information for many reflectance analysis tasks. It also includes a rich toolbox for evaluation of image segmentation and other algorithms in the multispectral domain. The parallel coordinates visualization technique is combined with hashing for a highly interactive visual connection between spectral distribution, spectral gradient, and topology.
The Common Pipeline Library provides a highly robust set of functions for manipulating signals and images. It is primarily intended for the building of VLT instrument pipelines, but is also useful for generic data handling. It includes a number of useful low-level data types, medium-level data access methods, standard implementations of commonly-used signal processing and data reduction tasks, and dynamic loading of "recipes" for data processing.