/ImageTransormationsAndEnhancements_PyQt

🎨 Transform Images with Ease: Our Python project, featuring a PyQt UI, empowers you to enhance and manipulate images effortlessly. Apply transformations, filters, and more for stunning results. 📸✨

Primary LanguagePython

Digital Image Processing (Image transformations and Enhancements)

Requirements for setting up the environment for Windows

  1. python 3.5 or higher
  2. py -m pip install PyQt5
  3. py -m pip install numpy
  4. py -m pip install ovencv-python
  5. py -m pip install imutils
  6. py -m pip install matplotlib
  7. py -m pip install scikit-image

Requirements for setting up the environment for Mac

  1. python 3.5 or higher
  2. pip install PyQt5
  3. pip install numpy
  4. pip install ovencv-python
  5. pip install imutils
  6. pip install matplotlib
  7. pip install scikit-image

Executing the Project

  1. python transformation.py (Windows command : py transformation.py)
    image
  2. Click on the Upload button to Upload an image from the input images folder. The uploaded image appears on the image placeholder on the left.
  3. Select an alorithm (displayed as radio buttons) to get the output.
  4. The transformed image replaces the uploaded image and is displayed on the image placeholder on the left.
  5. The Error Map is displayed on the image placeholder on the right.
  6. SSIM is displayed on the bottom.
  7. Clear the images using Clear button and upload the respective image for each algorithm.

Input images:

The images required for upload are present in the “Input images” folder.
Lenna_512.png: Used for Image negative, Log Transformation, Gamma Transformation, Histogram Equalization, DFT, Image Reconstruction using IFFT, Histogram Shaping.
lenna_noise.jpg: Used for median filter.
monalisa_noise.png: Used for mean filter.
Cameraman_512.jpg: Used for Low pass, High pass, Band pass, Unsharp masking filters.
cameraman_256.jpg: Used for Laplacian Filter.
lenna_Interpolation.jpg (256X256): Used for Bilinear and Bicubic Interpolation.

Outputs :


Original Image: Lenna_512.png

image

Image Negative image with its error map and SSIM: image

Log Transformed Image with its error map and SSIM: image

Gamma Transformed Image with its error map and SSIM: Γ = 2.0 image

Histogram Equalization with its Error Map and SSIM:
image

Median Filter with its Error Map and SSIM:
Input image for Median Filter:(lenna_noise.jpg)
image
Output:
image

Mean Filter with its Error Map and SSIM:
Input: (Monalisa with salt and pepper noise: monalisa_noise.png)
image
Output:
image

Input image for Low pass, High pass and Band pass filter: (Cameraman_512.jpg)
image
Low Pass Filter with its Error Map and SSIM:
image

High Pass Filter with its Error Map and SSIM:
image

Band Pass Filter with its Error Map and SSIM:
image

Laplacian Filter with its Error Map and SSIM:
Input image: cameraman_256.jpg
Output:
image

Unsharp Masking with its Error Map and SSIM:
Input: Cameraman_512.jpg
Output:
image

Bilinear Interpolation:
Input for Bilinear and Bicubic Interpolation: lenna_Interpolation.jpg (size 256*256)
image
Output:
image

Bicubic Interpolation:
Input: Lenna_Interpolation.jpg (size 256*256)
Output:
image

DFT:
Input: Lenna_512.png

Output:
image

Image Reconstruction Using IFFT:
Input: Lenna_512.png

Output: We converted the input image to grayscale and then performed DFT on it. The output from the DFT is used as an input for the image reconstruction.
image

Histogram Shaping:
image

Click on Image negative:
image
Click on Image Shaping Radio button and upload Lenna_512.png as the target image:
image
Now click on Transform Image button:
image