Imfusion

Imfusion

An Open Source image fusion desktop app. It supports image fusion using Discrete wavelet transformation.

What is Image Fusion

Image fusion combines the information of two or more images which are of the same time ans same scene to generate more detailed image than the individual images. For example,combining two photos of the same scene with each photo having different things on focus, if in first photo one or more objects are in focus and in second image other objects.The MRI and the CT scans are based on this. The CT scan just reveals the bone structure and hard tissues and the MRI reveals the soft tissues of brain which is used to detect disease affecting the skull base.Since these both scans provide different information individually each of them are not as useful as they are when they combined. The full potential of these scans can be used when the important features of each scan can be fused using image fusion which generates a better result containing of best features of both the scan.


CT scan

MRI scan

Fused Image

What is Discrete Wavelet Transformation

Wavelet is a component which is used to divide a function into various scale components. Each scale can be studied to provide some deeper information regarding the actual information. The DWT is based on sub-band which yields fast computation for transformation. It has so many applications in Digital Image processing like image compression, fusion, recognition, denoising, etc. Wavelets are powerful tool and they are now being adopted for vast number of applications. Extracting more information from the image is an important task which we can do to get maximum from an image. It is used to improve resolution of the images, here first the images are decomposed into its sub-images using various coefficients and with different frequency. After processing and applying the desired operation we again reconstruct the image to get more plentiful information.


Fusion workflow

Tech stack and libraries used -

  • PyQt5
  • Python3
  • Pywt
  • Matplotlib
  • Cv2
  • NumPy

How to build

For builidng this you need to run python3 imfusion_main.py. This will open a desktop app which will provide you to select various features like image restoration, image mixing, face morphing and then ask you to insert the image in which it will work on. Make sure you installed all the required libraries. You can install the libraries by running requirements.txt - pip3 install -r requirements.txt.

Screenshots


Desktop app

Faulty Image 1

Faulty Image 2

Fused image

Image 1

Image 2

Fused image

Face 1

Face 2

Fused image

Todo

  • Add change operation support
  • Add other algorithm support like DCT and PCA