Image processing is a fascinating field that blends mathematics, algorithms, and computer science to enhance and analyze images. While it can be complex, understanding the fundamental techniques makes it an exciting and rewarding area to explore.
This repository is designed for educational purposes, focusing on teaching the algorithms behind image processing rather than providing highly optimized code. The implementations prioritize clarity and readability to help learners grasp the core concepts without unnecessary complexity.
If you're interested in learning more about image processing techniques, the algorithms behind them, and their applications as implemented in this repository, visit the blog below:
Learn Image Processing - Medium Page
Fundamentals of Image Processing and Computer Vision
Image histogram equalization algorithm.
Histogram equalization CLAHE algorithm.
Spatial domain filtering -Gaussian filter.
Convolution and Gaussian Filters: Theory and Applications in Digital Images.
Gradient and Second Derivative in Images:
Nonlinear Filters in Image Processing.
Fundamentals of Image Processing in the Frequency Domain
Enhancing Low-Light Photography: Fusion of Flash and No-Flash Images
Canny edge detector: theory and implementation
Frequency-Domain Filtering: Fundamentals and Applications
Filtering of Periodic Noise in the Frequency Domain
Image resizing. Classical interpolation techniques
Make sure you have the following libraries installed before running the code:
- OpenCV
- NumPy
- Matplotlib
- SciPy
images used in the programs download
If you want to dive deeper into image processing, here are some great books, websites, and research papers:
- Stan Birchfield - Image Processing and Analysis (2018)
- Rafael C. Gonzalez & Richard E. Woods - Digital Image Processing (4th Edition, 2008)
- OpenCV Documentation - Official OpenCV documentation.
- Georg Petschnigg, Richard Szeliski, Maneesh Agrawala, Michael Cohen, Hugues Hoppe, and Kentaro Toyama. 2004. Digital photography with flash and no-flash image pairs.
If you found this repository useful, please consider giving it a ⭐ star and sharing it with others.
It helps me know that the material is valuable and encourages me to keep writing more in-depth articles and explanations on related topics.
Your feedback and support are what drive this project forward!