Skip to content

mr-pylin/media-processing-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“· Media Processing Workshop

License Python Version Codacy Badge Code Style Repo Size Last Updated PRs Welcome

A comprehensive resource to explore media processing, from fundamental concepts to advanced techniquess.

πŸ“– Table of Contents

πŸ“– Main Notebooks

  1. Introduction to Digital Images
  2. Load & Save Images
  3. Interpolating Images
  4. Apply Geometric Transformations
  5. Intensity Transformations
  6. Histogram Processing
  7. Spatial Filtering using Convolution
  8. Frequency Filtering using Fourier & Cosine Transform
  9. Multi-Resolution Analysis (Wavelet Transform)
  10. Image Compression (JPEG Coded)
  11. Morphological Processing

πŸ“– Utilities

A collection of concepts and tools utilized in the main notebooks

πŸ“‹ Prerequisites

βš™οΈ Setup

This project requires Python v3.10 or higher. It was developed and tested using Python v3.13.1. If you encounter issues running the specified version of dependencies, consider using this version of Python.

πŸ“ List of Dependencies

imagecodecs ipykernel ipywidgets matplotlib numpy opencv-contrib-python pillow scikit-image scipy

πŸ“¦ Installing Dependencies

πŸ“¦ Method 1: Poetry (Recommended βœ…)

Use Poetry for dependency management. It handles dependencies, virtual environments, and locking versions more efficiently than pip.
To install exact dependency versions specified in poetry.lock for consistent environments without installing the current project as a package:

poetry install --no-root

πŸ“¦ Method 2: Pip

Install all dependencies listed in requirements.txt using pip:

pip install -r requirements.txt

πŸ› οΈ Usage Instructions

  1. Open the root folder with VS Code (Ctrl/Cmd + K followed by Ctrl/Cmd + O).
  2. Open .ipynb files using the Jupyter extension integrated with VS Code.
  3. Select the correct Python kernel and virtual environment where the dependencies were installed.
  4. Allow VS Code to install any recommended dependencies for working with Jupyter Notebooks.

✍️ Notes:

  • It is highly recommended to stick with the exact dependency versions specified in poetry.lock or requirements.txt rather than using the latest package versions. The repository has been tested on these versions to ensure compatibility and stability.
  • This repository is actively maintained, and dependencies are updated regularly to the latest stable versions.
  • The table of contents embedded in the notebooks may not function correctly on GitHub.
  • For an improved experience, open the notebooks locally or view them via nbviewer.

πŸ”— Usefull Links

Tools

Benchmark Files

Codecs

  • Codecs are algorithms used to compress and decompress signals, ensuring efficient storage and transmission of high-quality signals e.g. videos.
  • For detailed information on popular image/video codecs, refer to the ./codecs/README.md.

NumPy

  • A fundamental package for scientific computing in Python, providing support for arrays, matrices, and a large collection of mathematical functions.
  • Official site: numpy.org

Data Visualization

OpenCV (Open Source Computer Vision Library)

  • A powerful open-source library (primarily written in C++) for computer vision and image processing tasks.
  • Supports a wide range of functionalities, including image and video processing, object detection, facial recognition, and more.
  • Compatible with multiple programming languages, including Python, C++, and Java.
  • Official sites: opencv.org

πŸ” Find Me

Any mistakes, suggestions, or contributions? Feel free to reach out to me at:

I look forward to connecting with you! πŸƒβ€β™‚οΈ

πŸ“„ License

This project is licensed under the Apache License 2.0.
You are free to use, modify, and distribute this code, but you must include copies of both the LICENSE and NOTICE files in any distribution of your work.

©️ Copyright Information

About

A comprehensive resource to explore media processing, from fundamental concepts to advanced techniques.

Topics

Resources

License

Stars

Watchers

Forks