Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📸 Digital Image Processing Bible

The Ultimate Interactive Learning Platform

Python Streamlit OpenCV License

Based on the legendary textbook by Rafael C. Gonzalez & Richard E. Woods

🚀 Quick Start📚 Features🎨 Gallery🔧 Installation📖 Documentation



🌟 What is DIP Bible?

DIP Bible is a comprehensive, interactive web application that brings the entire Digital Image Processing textbook to life! Whether you're a student learning the basics or a professional brushing up on advanced techniques, this tool provides hands-on experience with every major concept in the field.

💡 Why "Bible"? Because it's your complete reference guide - everything you need for Digital Image Processing in one beautiful, interactive application!


✨ Features

🎨 13 Complete Chapters

Every major topic from the Gonzalez & Woods textbook, from fundamentals to neural networks

🔄 Real-time Processing

Upload your image and see instant results with adjustable parameters

📊 Visual Learning

Side-by-side comparisons, histograms, and beautiful visualizations

🎯 100+ Algorithms

Practical implementations of every important DIP technique

🧪 Interactive Experiments

Sliders, dropdowns, and controls to explore parameter effects

📱 Modern UI

Clean, intuitive interface built with Streamlit


📚 Chapter Overview

🔍 Click to expand full chapter list

1️⃣ Introduction

  • 📖 What is Digital Image Processing?
  • 🎯 Application domains (Medical, Satellite, Industrial)
  • 🖼️ Image properties and fundamentals

2️⃣ Digital Image Fundamentals

  • 🔢 Sampling & Quantization
  • 📊 Histograms & Statistics
  • 🔗 Pixel Connectivity
  • 📐 Image Interpolation (Nearest, Bilinear, Bicubic)

3️⃣ Intensity Transformations & Spatial Filtering

  • 🎨 Image Negative, Log, Power Law (Gamma)
  • 📊 Histogram Equalization & CLAHE
  • 🔲 Smoothing Filters (Mean, Gaussian, Median)
  • 📐 Sharpening Filters (Laplacian, Unsharp Masking, Sobel)

4️⃣ Filtering in Frequency Domain

  • 🌊 2D Fourier Transform
  • ⬇️ Lowpass Filters (Ideal, Butterworth, Gaussian)
  • ⬆️ Highpass Filters
  • 🎯 Selective Filters (Bandreject, Notch)

5️⃣ Image Restoration & Reconstruction

  • 🔊 Noise Models (Gaussian, Salt & Pepper, Poisson, Speckle)
  • 🧹 Restoration Filters (Mean, Median, Adaptive)
  • 🔍 Image Deblurring (Inverse, Wiener)

6️⃣ Wavelet & Other Image Transforms

  • 📊 Discrete Cosine Transform (DCT)
  • 🌊 Discrete Wavelet Transform (Haar)
  • 📈 Hadamard & Other Transforms

7️⃣ Color Image Processing

  • 🎨 Color Models (RGB, HSV, LAB, YCrCb)
  • 🌈 Color Transformations & Balance
  • ✨ Color Enhancement
  • 🔍 Color-based Segmentation

8️⃣ Image Compression

  • 📉 Lossless Compression (RLE, Huffman)
  • 📊 Lossy Compression (DCT-based)
  • 🖼️ JPEG Simulation with Quality Control

9️⃣ Morphological Image Processing

  • 🔷 Erosion, Dilation, Opening, Closing
  • 🔧 Boundary Extraction, Hole Filling
  • 🎨 Grayscale Morphology
  • 🌊 Watershed Segmentation

🔟 Segmentation I: Edge Detection & Thresholding

  • 📍 Edge Detectors (Sobel, Canny, Laplacian, Marr-Hildreth)
  • 🎯 Thresholding (Manual, Otsu, Adaptive)
  • 🔗 Hough Transform (Lines, Circles)
  • 🌱 Region Growing & Clustering

1️⃣1️⃣ Segmentation II: Active Contours

  • 🐍 Active Contours (Snakes)
  • 📐 GrabCut Segmentation
  • 🎯 Interactive Object Extraction

1️⃣2️⃣ Feature Extraction

  • 📏 Boundary Features (Area, Perimeter, Solidity)
  • 🔲 Region Features (Texture, Moments)
  • 🎯 Corner Detection (Harris, Shi-Tomasi, FAST)
  • 🔍 SIFT Features

1️⃣3️⃣ Pattern Classification

  • 📊 Feature Space Visualization
  • 🎯 K-Means Classification
  • 🧠 Neural Network & CNN Concepts
  • 🔬 Convolution Operation Demo

🚀 Quick Start

Prerequisites

Python 3.8 or higher

Installation

# Clone the repository
git clone https://github.com/yourusername/dip-bible.git
cd dip-bible

# Install dependencies
pip install -r requirements.txt

# Run the application
streamlit run app.py

🎉 That's it! Your browser will open automatically at http://localhost:8501


🔧 Installation Details

Required Dependencies

streamlit>=1.28.0
numpy>=1.24.0
opencv-python>=4.8.0
pillow>=10.0.0
matplotlib>=3.7.0
scipy>=1.11.0
scikit-image>=0.21.0

Optional Dependencies

opencv-contrib-python>=4.8.0  # For SIFT features

💻 Usage

Basic Workflow

  1. 📤 Upload Image

    Click "Upload Image" in the sidebar
    Support: PNG, JPG, JPEG, BMP, TIFF
    
  2. 📚 Select Chapter

    Choose from 13 comprehensive chapters
    Each chapter has multiple sub-topics
    
  3. 🎛️ Adjust Parameters

    Use sliders and controls
    See real-time results
    Compare before/after
    
  4. 💾 Learn & Experiment

    Read explanations
    Try different settings
    Understand the algorithms
    

🎨 Gallery

📸 Sample Outputs

Original Enhanced Segmented Features
🖼️ Input ✨ Processing 🎯 Detection 📊 Analysis

Upload your own images and create amazing results!


📖 Documentation

Algorithm Categories

Category Algorithms Use Cases
🎨 Enhancement • Histogram Equalization
• Gamma Correction
• Contrast Stretching
• Sharpening Filters
• Improve visibility
• Adjust brightness
• Enhance details
🔍 Restoration • Noise Reduction
• Deblurring
• Wiener Filter
• Median Filter
• Remove noise
• Fix blurry images
• Restore quality
✂️ Segmentation • Edge Detection
• Thresholding
• Watershed
• GrabCut
• Detect objects
• Extract regions
• Separate foreground
🎯 Feature Extraction • Corner Detection
• SIFT/ORB
• Texture Analysis
• Shape Descriptors
• Object recognition
• Image matching
• Pattern analysis
🗜️ Compression • JPEG Simulation
• DCT Transform
• Huffman Coding
• Wavelet Compression
• Reduce file size
• Optimize storage
• Transmission

🛠️ Technology Stack

Technology Purpose Version
Python Core Language 3.8+
Streamlit Web Framework 1.28+
OpenCV Image Processing 4.8+
NumPy Numerical Computing 1.24+
SciPy Scientific Computing 1.11+
Matplotlib Visualization 3.7+
scikit-image Image Processing 0.21+

🎓 Learning Path

For Beginners 🌱

  1. Start with Chapter 1 & 2 - Understand the basics
  2. Try Chapter 3 - Learn enhancement techniques
  3. Experiment with Chapter 9 - Visual morphological operations
  4. Move to Chapter 10 - Segmentation fundamentals

For Intermediate Users 🌿

  1. Master Chapter 4 - Frequency domain filtering
  2. Explore Chapter 5 - Restoration techniques
  3. Study Chapter 7 - Color image processing
  4. Practice Chapter 12 - Feature extraction

For Advanced Users 🌳

  1. Deep dive into Chapter 6 - Wavelets & transforms
  2. Challenge yourself with Chapter 11 - Active contours
  3. Understand Chapter 13 - Pattern classification & CNNs
  4. Combine multiple techniques for complex problems

🤝 Contributing

We love contributions! Here's how you can help:

🐛 Found a Bug?

Open an issue with details and steps to reproduce

💡 Have an Idea?

Share your feature suggestions in discussions

🔧 Want to Contribute Code?

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


📚 References

Primary Reference

  • Digital Image Processing (4th Edition)
    Rafael C. Gonzalez and Richard E. Woods
    Pearson/Prentice Hall, 2018
    ISBN: 978-0133356724

Additional Resources


🌟 Acknowledgments

  • 📖 Gonzalez & Woods for the comprehensive textbook
  • 🎨 Streamlit Team for the amazing framework
  • 💻 OpenCV Community for powerful image processing tools
  • 🌍 Open Source Community for inspiration and support

📊 Project Stats

GitHub stars GitHub forks GitHub watchers


💬 Contact & Support

Need Help? Have Questions?

GitHub Issues Email

Stay Connected

GitHub Twitter LinkedIn


⭐ If you find this project helpful, please give it a star! ⭐

Made with ❤️ by the DIP Community

⬆ Back to Top


"The journey of a thousand pixels begins with a single upload." 🖼️

About

Comprehensive DIP reference covering 13 chapters — spatial/frequency domain filtering, morphological operations, segmentation, compression, wavelet transforms, and deep learning for vision tasks.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages