Ahmad Nayfeh
Back to Projects

DIP-Lib: Interactive Digital Image Processing Toolkit

DIP-Lib: Interactive Digital Image Processing Toolkit
Image Processing
Educational Tools
Denoising
Edge Detection
Visualization

🧠 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.

Related Projects

AI-Powered MRI Brain Tumor Segmentation

AI-Powered MRI Brain Tumor Segmentation

An end-to-end deep learning solution for the automated segmentation of brain tumors from multi-modal MRI scans.

MRI
Deep Learning
Image Processing
+1 more
Digital Image Processing Projects

Digital Image Processing Projects

A modular suite of classic image processing mini-projects — covering interpolation, compression, denoising, enhancement, and shading correction — with clean visual benchmarks and Python implementations.

Image Processing
Educational Tools
Denoising
+2 more
Frequency Decomposition Explorer

Frequency Decomposition Explorer

An interactive Streamlit app to visualize, isolate, and reconstruct 1D or 2D signals based on their frequency bands using FFT and IFFT.

Signal Processing
Fourier Transform
Frequency Analysis
+2 more