69661 - Image Processing And Computer Vision M

Scheda insegnamento

Academic Year 2017/2018

Learning outcomes

Introducing basic knowledge about algorithms, tools and systems for the management, processing and analysis of digital images. The main topics of the course are filtering aspects of digital images, algorithms for image processing, algorithms for segmentation and classification of objects in digital images. Theoretical aspects that are introduced in the course are then applied to the design and manufacturing capabilities of simple systems oriented to real world applications. At the end of the course students are able to master basic digital image processing techniques and know potentials of this technology in applicative research and industrial contexts.

Course contents

  1. Introduction – Basic definitions related to image processing and computer vision. An overview across major application domains.
  2. Image Formation and Acquisition – Geometry of image formation. Pinhole camera and perspective projection. Geometry of stereopsis. Using lenses. Field of view and depth of field. Projective coordinates and perspective projection matrix. Camera calibration: intrinsic and extrinsic parameters, lens distortion. Camera calibration based on planar targets and homography estimation (Zhang's algorithm). Image rectification and stereo calibration. Basic notions on image sensing, sampling and quantization.  
  3. Intensity Transformations -  Image Histogram, Linear and non-linear contrast stretching. Histogram equalization and specification.
  4. Spatial Filtering – Linear Shift-invariant operators and convolution. Correlation. Fourier Transform for 2D signals. Mean and Gaussian filtering. Image Sharpening, Median Filtering. Bilateral filtering. Non-local means.
  5. Image Segmentation – Binarization by global thresholding. Automatic threshold estimation. Spatially adaptive binarization. Region growing. Colour-based segmentation.
  6. Segmentation by Motion Estimation – Frame differencing and background subtraction. Background initialization and update. Robustness to illumination changes.
  7. Binary Morphology – Dilation and erosion. Opening and closing- Hit-and-Miss. Thinning,
  8. Blob Analysis – Distances on the image plane and connectivity. Labeling of connected components. Basic descriptors: area, perimeter, compactness, circularity. Orientation and bounding-box,  form factor and related descriptors. Euler number. Image moments, invariant moments.
  9. Edge Detection -  Image gradient. Smooth derivatives: Prewitt, Sobel, Frei-Chen. Non-maxima suppression. Laplacian of Gaussion. Canny edge detector.
  10. Local Invariant Features – Detectors and descriptors.  Harris Corners.  Scale invariant features. SIFT features. Efficient feature matching by kd-trees. 
  11. Object Detection – Pattern matching by SSD, SAD, NCC and ZNCC. Fast pattern matching. Shape-based mathing. Hough Transform for analystic shapes, Generalized Hough Transform.  Object detection by local invariant features: Hough-based voting, least-squares similarity estimation. 
  12. 3D Computer Vision – Technologies: stereo vision, laser-scanning, TOF.  RGB-D images (e.g. Kinect sensor). Stereo matching algorithms: local, semi-global and global approaches. Basics elements on point-cloud processing and analysis.

Theory is complemented by assisted hands-on lab sessions based on the OpenCV library and  covering selected topics (such as intensity transformations, spatial filtering, camera calibration, motion estimation)


  • Gonzales R., Woods R. : “Digital Image Processing”, Third Edition, Pearson Prentice-Hall, 2002.
  • D.A. Forsyth, J. Ponce:  “Computer Vision   A Modern Approach”. Pearson Prentice-Hall, 2003.
  • Trucco E., Verri A.: “Introductory Techniques for 3D Computer Vision”, Prentice-Hall, 1998.

Teaching methods

Theory taught in lectures is complemented by assisted hands-on lab sessions covering selected topics. Students are provided with the software tools, image/video archives and support that enable practical implementation and testing of most of the topics discussed in classes, so as to deepen significantly their understanding of the course subject matter.

Assessment methods

Students are required to carry out and present a software project related to solving a real-world image processing or computer vision problem. Such a project can be either chosen among a list provided by the teacher through the course web-site or proposed by the student.

The, the exam is oral and comprises both project discussion as well as assessment of theoretical knowledge.

Teaching tools

Available on  the course website are:

  • All slides related to lectures and lab sessions.  
  • A Software development framework based on OpenCV which allows students to practically implement the algorithms and methods taught in lectures.
  • Images and videos allowing students to easily test their implementations.
  • Links to image processing and computer vision resources freely available on the web (such as software tools and image/video archives).

Links to further information


Office hours

See the website of Luigi Di Stefano