Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔬 Image Processing Studio

An interactive web application for applying 27 image processing operations across 10 categories — built with Streamlit and pure NumPy.

Python Streamlit


✨ Features

Category Operations
Point Operations Addition, Subtraction, Division, Complement
Color Manipulation Red channel shift, Swap R↔G, Eliminate red
Histogram Enhancement Contrast stretching, Equalization
Linear Filters Average (smoothing), Laplacian (sharpening)
Non-Linear Filters Max, Min, Median, Mode
Image Restoration Salt & Pepper + filters, Gaussian + averaging
Segmentation Basic / Automatic / Adaptive thresholding
Edge Detection Sobel detector
Morphology Dilation, Erosion, Opening
Boundary Extraction Internal, External, Morphological gradient

🚀 Quick Start

# 1. Clone the repository
git clone https://github.com/MoamenElbarqy/image-processing.git && cd image-processing

# 2. Create a virtual environment
python -m venv .venv && source .venv/bin/activate

# 3. Install dependencies
pip install -r requirements.txt

# 4. Run the app
streamlit run app.py

The app opens at http://localhost:8501.


📁 Project Structure

image-processing/
├── app.py                  # Streamlit entry point & UI
├── requirements.txt        # Python dependencies
├── README.md
│
└── core/                   # Pure processing algorithms (no UI)
    ├── utils.py            # clamp, grayscale, RGB helpers
    ├── convolution.py      # Low-level convolution engine
    ├── point_ops.py        # Pixel-wise arithmetic
    ├── color_ops.py        # Channel manipulation
    ├── histogram.py        # Stretching & equalization
    ├── filters.py          # Average, Laplacian, neighborhood
    ├── noise.py            # Salt-pepper & Gaussian noise
    ├── restoration.py      # Outlier filter, image averaging
    ├── segmentation.py     # Thresholding techniques
    ├── edge_detection.py   # Sobel detector
    └── morphology.py       # Dilation, erosion, boundaries

🛠️ Tech Stack

  • Frontend: Streamlit (reactive web UI)
  • Image Processing: NumPy (manual convolution & filtering)
  • Image I/O: Pillow (PIL)

📜 License

This project is for educational purposes.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages