Skip to content

fromcaio/image-processing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Digital Image Processing β€” Interactive Notebooks

Demo Gif

This repository contains an educational journey through Digital Image Processing (DIP) using Jupyter Notebooks, blending:

  • Clear theoretical explanations
  • Mathematical foundations
  • Visual intuition
  • Real-world examples
  • Python implementations

The content is inspired by:

  • The course β€œProcessamento Digital de Imagens” taught by Prof. Dr. Jesuliana N. Ulysses (UFSJ)
  • The book β€œA Computational Introduction to Digital Image Processing” β€” Alasdair McAndrew

🎯 Objectives

This project aims to be a self-contained learning path for students and practitioners, offering:

  1. Interactive notebooks that build concepts step-by-step
  2. Hands-on exercises to reinforce learning
  3. Real images & experiments to visualize concepts
  4. Clean modular structure, mirroring a university-level DIP course
  5. A foundation for future computer vision topics (filters, segmentation, ML, CV tasks)

πŸš€ How to Start Learning

Start in the first module:

πŸ‘‰ 01-introduction/01-introduction.ipynb

Then follow notebooks in numeric order. Each module contains:

  • Core theory notebook(s)
  • Python experiments
  • Exercises
  • Practice activities

Recommended Flow

  1. Concept notebook β€” understand theory
  2. Code demo notebook β€” experiment visually
  3. Exercises β€” confirm understanding
  4. Practice notebooks β€” explore real world challenges

πŸ“‚ Repository Structure

image-processing/
β”‚
β”œβ”€β”€ 01-introduction/
β”‚   β”œβ”€β”€ notebooks/
β”‚   β”‚   β”œβ”€β”€ 01-introduction.ipynb
β”‚   β”‚   β”œβ”€β”€ 02-digital-images.ipynb
β”‚   β”‚   β”œβ”€β”€ 03-sampling-quantization.ipynb
β”‚   β”‚   β”œβ”€β”€ 04-python-environment.ipynb
β”‚   β”‚   └── 05-first-operations.ipynb
β”‚   β”‚
β”‚   β”œβ”€β”€ exercises/
β”‚   β”‚   β”œβ”€β”€ Exercise01.ipynb
β”‚   β”‚
β”‚   β”œβ”€β”€ practices/
β”‚   β”‚   β”œβ”€β”€ Practice01.ipynb
β”‚   β”‚
β”‚   β”œβ”€β”€ images/
β”‚   β”‚   β”œβ”€β”€ source/
β”‚   β”‚   β”‚   β”œβ”€β”€ lena_gray.png
β”‚   β”‚   β”‚   β”œβ”€β”€ cameraman.png
β”‚   β”‚   β”‚   └── ...
β”‚   └── └── outputs/
β”‚
β”œβ”€β”€ 02-fundamentals/
β”‚   β”œβ”€β”€ notebooks/
β”‚   β”œβ”€β”€ exercises/
β”‚   β”œβ”€β”€ practices/
β”‚   β”œβ”€β”€ images/
β”‚   β”‚   β”œβ”€β”€ source/
β”‚   └── └── outputs/
β”‚
β”‚   03-.../
β”‚   04-.../
β”‚
└── README.md

πŸ” Each folder = one learning module πŸ““ Each module = theory + experiments + exercises + practice


🧰 Tools & Libraries

We use the standard Python image-science stack:

  • Python 3
  • NumPy β€” matrix & pixel operations
  • Matplotlib β€” plotting & visualization
  • OpenCV (cv2) β€” image processing toolbox
  • scikit-image (skimage) β€” scientific image algorithms
  • Jupyter Notebook β€” interactive learning environment

πŸ§‘β€πŸ« Learning Style

All notebooks are written for clarity and intuition, using:

  • Step-by-step explanations
  • Visual reasoning
  • Code comments & inline notes
  • Side-by-side original vs processed results
  • Notebook questions & reflection prompts

Where applicable, we also include:

  • Pixel grids
  • Histograms
  • Annotated diagrams
  • Progressive examples (simple β†’ real images)

πŸͺΆ References

Course materials by Prof. Dr. Jesuliana N. Ulysses (UFSJ) A Computational Introduction to Digital Image Processing β€” Alasdair McAndrew


πŸ“¬ Author

Caio Fromm πŸ“Ž GitHub: https://github.com/fromcaio

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published