Digital Image Processing Projects

🧠 Project Summary
This repository is a curated set of image processing mini-projects developed in Python. Each subfolder tackles a key concept — such as interpolation accuracy, shading correction, or denoising — and offers an end-to-end experimental setup: from transformation to visualization. The goal is to distill theoretical concepts into practical, testable code for both learning and application.
📂 Subproject Gallery

🔻 1. Downsampling & Interpolation
This module explores how downsampling methods (Simple, Anti-aliased, Area-based) and interpolation strategies affect image quality, evaluating combinations using SSIM and PSNR.

🔄 2. Geometric Transformations
Applies core affine transformations in batch — including rotation, scaling, translation, and shearing — with a flexible command-line interface. Ideal for preprocessing pipelines.

🗜️ 3. Image Compression
Benchmarks JPEG, PNG, and WebP formats on file size vs. visual fidelity. It calculates and visualizes Compression Ratio, MSE, PSNR, and SSIM across images.

🧹 4. Image Denoising
Simulates noisy environments and applies classical denoising filters (Median, Gaussian Blur, NLM), providing detailed before/after comparisons and metrics.

✨ 5. Image Enhancement
Applies Gamma Correction and Histogram Equalization to improve image brightness and contrast, with visualizations of the pixel intensity distribution.

🌗 6. Shading Correction
Corrects uneven lighting using both spatial (Gaussian blur subtraction) and frequency domain (homomorphic filtering) techniques.
⚙️ Technologies Used
- Python 3.x
- OpenCV • NumPy • scikit-image
- Matplotlib • Seaborn
- Jupyter Notebooks • Command-line Interfaces
- Parallel Processing (Compression module)
🧠 Key Takeaways
- Each subproject translates a fundamental image processing technique into hands-on, reproducible experiments.
- Visualizations make metric-based evaluation clear and digestible.
- Modular code design allows you to plug components into larger CV pipelines or teaching demos.