DIP-Lib: Interactive Digital Image Processing Toolkit

🧠 Project Summary
DIP-Lib is a hands-on, visual toolkit for digital image processing, built as an interactive web app using Streamlit. It's designed for learners and researchers to explore 9 classical image processing modules in a single, pipeline-based UI. You can adjust parameters, stack transformations, and see the results live, helping build intuition through guided, real-time feedback.
🚀 Launch the Interactive App
📂 Core Modules
The toolkit is divided into distinct, interactive modules:
🔻 1. Downsampling & Interpolation
Resize images with methods like simple
or antialias
and upscale using nearest
, bilinear
, or lanczos
interpolation. The app visualizes how each combination affects quality using PSNR and SSIM metrics.
🔄 2. Geometric Transformations
Apply affine and projective transformations like rotation, scaling, and shearing. All parameters are controlled via sliders and can be layered dynamically.
🧹 3. Noise Analysis & Removal
Add synthetic Gaussian or Salt & Pepper noise, then evaluate various denoising filters:
- Median Filter (great for impulse noise)
- Gaussian Blur (for smoothing)
- Non-Local Means (excellent for preserving texture)
✨ 4. Image Enhancement
Boost brightness and contrast using Gamma Correction, Histogram Equalization, and CLAHE (adaptive enhancement) to optimize visibility in dark or low-contrast images.
🌗 5. Lighting Correction
Fix non-uniform lighting with two powerful techniques: spatial filtering (Gaussian blur subtraction) and homomorphic filtering (frequency domain suppression).
🔬 6. Edge Detection & Sharpening
Compare classic edge detectors like Sobel, Scharr, Laplacian, and Canny. This module also includes an Unsharp Masking filter to enhance fine details.
🛠️ Technologies Used
- UI Framework: Streamlit
- Core Processing: OpenCV, NumPy, scikit-image
- Visualization: Matplotlib, Seaborn
📸 Sample Gallery



💡 Why It Matters
- Educational: Helps students learn through direct, visual experimentation.
- Research Utility: Useful for benchmarking filters, comparing transformations, and prepping data.
- Usability-First: Completely web-based with real-time feedback and no installation required.