ImgFusion is a multi-platform library for image fusion written in C++ and was written as a part of my Master's thesis work for the Brno University of Technology in Czech Republic. Image fusion is a process of combining multiple images into a single image which contains as much information from the source images as possible. Image fusion has many applications in fields such as medicine, GIS, security or photography. Here is a short list of how image fusion may be used:
The library offers several methods for image fusion that offer good trade-off between speed and quality of the result. Currently the fusion algorithm tries to preserve the maximum detail in the image by maximizing the frequency contents (sharp edges) but new fusion rules can be defined in order to change the fusion behaviour or quality of the result.
Emphasis has been put on the computational efficiency and minimal memory requirements of the image processing algorithms. All transformations are made in-place and require only a little extra memory. This fact is crucial for processing large images since the transformation coefficients are represented by single precision floating point values (which typically occupy 4 Bytes) and therefore a single image of dimensions 4000 x 4000 pixels, for example, spans 64 MBytes. For this reason we designed the system in a way that allows processing each image separately. The major advantage of such approach is that the memory consumption does not depend on the number of images being fused but is proportional to the image size only.
Current version of the project is: 0.1, Download here.
Supported methods are: