Academic Year 2023-2024



Christian Micheloni
Gian Luca Foresti
Enrico Marchi
Unit Credits
Teaching Period
Second Period
Course Type
Prerequisites. Fundamentals of math (logarithms, exponents, derivate, integral, series, etc.) are important prerequisites.
Teaching Methods. The course is organized in theoretical lessons, in exercise and lab sessions.
Verification of Learning. The verification of the learning level will done by means of a project. The project is assigned by the course lecturers at the request of the student. The topic can be proposed by the student, but always agreed upon and validated by the lecturers. The project must present, given the assigned problem, a critical analysis of the state of the art and a plausible solution by means of a software solution in Python language. The student must submit a project report and the source code of the solution, which will be discussed with the lecturer for the final assessment of learning.

The grading criteria are those established by the Course of Studies and can be found at the following link:

More Information. The lectures will be recorded and automatically published on the e-learning page of the course. On such a page the registered student will access the video from remote.
The goal of the course is to introduce the student to the fundamentals of the image processing and its evolution to the computer Vision. The educational goal is to make the student autonomous with respect to the choice of the image processing algorithm for the extraction of the data useful to describe the content and eventually to modify it. The course will be based by a theoretical section in which classical image processing problems will be analysed and different lab. sessions when methodologies will be applied by using an high level programming language.

The student will have to:

– know the fundamental concepts and algorithms of image and digital video processing and be able to understand the technological innovations that can refer to base algorithms.

– Know to process and transform a digital image.

– Know to use Python programming language.

– Knot to analyse an artificial Vision problem and propose a possible solution.

Knowledge and comprehension

– Acquire specific knowledge of the principal concepts and theoretical basics of the image processing and artificial Vision.

– Know how to use the Python language in order to implement artificial Vision algorithms.

Capability to apply knowledge and comprehension

– Know to analyse and to understand an image processing algorithm.

– Know to analyse and interpret an Artificial Vision problem and to apply the aforementioned knowledge to split it in sub problems.

– Design the logic architecture of an Artificial Vision system for real problems.

Autonomy of judgement

– Know how to evaluate the computer Vision algorithm and make a personal choice about the most proper algorithm for solving a given problem.

– Know to distinguish among different Artificial Vision solution by evaluating their performance.

Communication skills

– Know how to explain, both written and orally, the techniques related to algorithm and systems of artificial Vision with proper logic and terminology.

Learning skills

– Know how to retrieve and use bibliographic and digital instruments useful for the personal investigation of problems related image processing and artificial Vision.

This course provides an introduction to computer Vision, including the fundamentals of image formation, image and camera geometry, feature detection and association, stereo Vision, object detection, motion estimation and tracking, image classification and scene analysis. We will explore methods of camera calibration, automatic alignment, detection, tracking and recognition. We will use both classical analytical algorithms as well as machine learning and deep learning to address these problems. The aim of the course is to develop the insights and mathematics of the methods in class, and then learn the difference between theory and practice in real cases and in complex projects.
[1] R. Szeliski, Computer Vision: Algorithms and Applications, Springer, 2021

[2] A. Distante, C. Distante, Handbook of Image Processing and Computer Vision, Springer, Prima Edizione, 2020.

[3] T. Gaddis, Introduzione a Python

con MyLab, 5 Ed.izione, Pearson, 2021.

[4] R.C. Gonzales, R. E. Woods, Digital Image Processing, 4th Edition, Pearson, 2019.

[5] Notes and materials made available by the lecturers