This repository documents my learning journey in Computer Vision, characterized by two core principles:
- Incremental approach, starting from the fundamentals of computer vision β digital images, color spaces, image processing β and progressively moving toward more advanced topics such as deep learning and object tracking (cit. to infinity and beyond);
- Formal approach, meaning that the focus is not limited to understanding code found in online resources, but also includes a solid theoretical background. For this reason, each practical topic is accompanied by its corresponding theoretical counterpart.
The theoretical material is collected in dedicated notes, currently written in Italian using LibreOffice. In the future, the content will be reorganized in LaTeX and translated into English.
The general goals and learning path are described below. However, since this is a personal project in continuous evolution, both the objectives and the structure may change over time, influenced by personal interests as well as by the evolving landscape of computer vision.
Finally, in the spirit of a personal learning project, any suggestion, correction, or feedback is highly encouraged.
The goals of this learning path are:
- To learn the fundamentals of image processing
- To characterize the main topics of Computer Vision
- To learn how to use Python and OpenCV
- To build a solid foundation for advanced computer vision and deep learning topics
- To develop the skills required to build complex projects
- Environment setup
- Basic definitions of digital images and color spaces. Minimal handling using Python and OpenCV
- Image Processing: translation, rotation, and image resizing
- Image Processing: filtering and edge detection
- Image Processing: contours and shapes
- Computer Vision: feature detection
- Work in progress...
- Python
- OpenCV
- NumPy
-
Wikipedia
-
OpenCV Documentation
-
Learning OpenCV β Gary Bradski & Adrian Kaehler
-
freeCodeCamporg: OpenCV Course - Complete Tutorial with Python
-
RAI β Digital Image Processing
http://www.crit.rai.it/eletel/2005-3/53-8.pdf -
Ultralytics β Leveraging Color Detection in Computer Vision Applications
https://www.ultralytics.com/it/blog/leveraging-color-detection-in-computer-vision-applications -
Gianluca Tramontana β Color Theory, Color Spaces and Models
https://www.gianlucatramontana.it/2017/07/28/teoria-del-colore-spazi-di-colore-e-modelli/