Skip to content
All projects
Smaller projects

DIP-Lib

Interactive Digital Image Processing Toolkit

A Streamlit app for learning classical image processing: nine modules with live parameters, stacked into a pipeline that shows the image after every step.

Type
Smaller projects
Date
April 30, 2025
Result
Live app with nine image processing modules
Tools
Image ProcessingComputer Vision

A place to see what an image processing operation does by moving a slider, instead of reading about it.

Open the app

How it works

Upload an image, pick a module, adjust its parameters, and preview the effect. Add it to the pipeline, repeat, then run the pipeline: the app shows the image after every step, reports PSNR and SSIM between the original and the result, and lets you download it. Steps can be removed and the pipeline cleared at any time.

The nine modules

  • Downsampling and interpolation: shrink and enlarge with different methods (nearest, bilinear, Lanczos).
  • Geometric transformations: rotate, scale, translate and shear.
  • Noise: add Gaussian or salt-and-pepper noise, then remove it with Gaussian blur, median or non-local means filters.
  • Enhancement: gamma correction, histogram equalisation and CLAHE.
  • Lighting correction: blur subtraction in the spatial domain, or homomorphic filtering in the frequency domain.
  • Edge detection: Sobel, Scharr, Laplacian and Canny.
  • Sharpening: unsharp masking.
  • Thresholding: global or adaptive.
  • Colour spaces: convert between BGR, RGB, HSV and LAB, and view each channel.

Screens

Uploading an image and choosing a module Previewing an enhancement with before-and-after colour histograms A two-step pipeline with the image after each step and final PSNR and SSIM

Built with

Python, OpenCV, NumPy and scikit-image for the processing, Streamlit for the interface.

More in Smaller projects