Schedule BE4M33DZO Upload system Discussion forum

BE4M33DZO - Digital Image

Course topics

This course presents an overview of basic methods for digital image processing. It deals with practical techniques that have an interesting theoretical basis but are not difficult to implement. Seemingly abstract concepts from mathematical analysis, probability theory, or optimization come to life through visually engaging applications. The course focuses on fundamental principles (signal sampling and reconstruction, monadic operations, histogram, Fourier transform, convolution, linear and non-linear filtering) and more advanced editing techniques, including image stitching, deformation, registration, and segmentation. Students will practice the selected topics through six implementation tasks, which will help them learn the theoretical knowledge from the lectures and use it to solve practical problems.


Students are expected to know topics from calculus, linear algebra, statistics and probability to the extent taught at CTU in Prague, FEE. Basic programming skills are also expected, especially in MATLAB.


Lecturer: prof. Ing. Daniel Sýkora, Ph.D. (CTU in Prague, FEE, Department of Computer Graphics and Interaction, Room: KN:E-422)

Place and Time: Wednesday 09:15am-10:45am, Lecture Hall KN:E-301

Extent: 2 hours weekly

Week Date Topics Teaching Materials
1. 21.09.2022 Monadic Operations - digital image, histogram, change of brightness and contrast, thresholding, negative, quantization, gamma correction, histogram equalization and mapping slides / video
2. 28.09.2022 No lecture (public holiday)
3. 05.10.2022 Fourier Transform - Fourier transform in 1D and 2D, basis functions, time and frequency domain, amplitude and phase, discrete Fourier transform, fast Fourier transform, sampling theorem slides / video
4. 12.10.2022 Convolution - convolution in 1D and 2D, fast computation using separable kernels, mip-mapping, integral image and Fourier transform slides / video
5. 18.10.2022 Linear Filtering - applications of 1D and 2D convolution: noise suppression, edge detection, blur, sharpening, Wiener filter, anti-aliasing, depth of field, motion blur, light scattering, glossy reflections, soft shadows, hybrid image slides / video
6. 26.10.2022 No lecture (ECCV 2022)
7. 02.11.2022 Non-linear Filtering - bilateral filter, fast computation using rectangular kernels, piecewise linear approximation, and bilateral grid, applications: noise suppression maintaining sharp edges, digital makeup, abstraction, tone mapping, appearance modification, detail fusion, simulation of HDR image, material/texture change, glossiness removal, noise suppression using flash, depth map sharpening. slides / video
8. 09.11.2022 Image Editing - linear and multi-band image stitching, Laplace pyramid, gradient domain editing and its applications: stitching, cloning, smoothing, fusion, context highlighting, color to gray conversion, diffusion curves slides / video
9. 16.11.2022 Image Deformation - translation, rotation, scaling, skew, affine and projective transformations, backward mapping, bilinear interpolation, moving least squares, as-rigid-as-possible and as-similar-as-possible image deformation slides / video
10. 23.11.2022 Image Registration 1 - image similarity metrics, estimation of translation, block-matching, fast computation using early termination, multi-resolution processing, winner-take-all strategy, phase correlation, gradient descent, texture synthesis, hole filling slides / video
11. 30.11.2022 Image Registration 2 - estimation of rotation and scaling, log-polar and Fourier-Mellin transformation, generalized gradient descent (affine and projective transformation), as-similar-as-possible image registration slides / video
12. 07.12.2022 No lecture (SIGGRAPH Asia 2022)
13. 14.12.2022 Image Segmentation 1 - interactive image segmentation, problem formulation and its solution using maxflow algorithm, a system of linear equations and by finding shortest paths in a graph slides / video
14. 11.01.2022 Image Segmentation 2 - basic properties of interactive image segmentation algorithms, modification and extension of optimization criteria: color model, imprecise specification of background and foreground scribbles, multiple segments, colorization, applications: alpha-channel estimation, recoloring, interactive tone mapping, painting hand-drawn images slides / video


Lab Assistants:

Place and Time: Tuesday 2:30pm-7:30pm, Lab Rooms KN:E-230 and KN:E-132

Extent: 2 hours weekly

Week Date Topics Lab Assistant
1st 20.09.2022 Introduction to MATLAB Jan Čech, Ondřej Drbohlav, Vojtěch Pánek, Daniel Sýkora
2nd 27.09.2022 Monadic Operations 1 - brightness and contrast changes, gamma correction, histogram equalization and mapping Vojtěch Pánek
3rd 04.10.2022 Monadic Operations 2 - submission of the 1st assignment (10 points) Vojtěch Pánek
4th 11.10.2022 Fourier Transform 1 - 2D FFT, displaying spectrum, basis functions, shift, convolution and sampling theorems Jan Čech
5th 18.10.2022 Fourier Transform 2 - submission of the 2nd assignment (10 points) Jan Čech
6th 25.10.2022 No labs (ECCV 2022)
7th 01.11.2022 Linear and Non-linear Filtering 1 - convolution, Fourier transform, separable kernel, blurring, edge detection, deconvolution, bilateral filter Vojtěch Pánek
8th 08.11.2022 Linear and Non-linear Filtering 2 - submission of the 3rd assignment (10 points) Vojtěch Pánek
9th 15.11.2022 Image Editing 1 - gradient domain approach, solving the Poisson equation using a system of linear equations and Fourier transform, image stitching, gradient mixing Daniel Sýkora
10th 22.11.2022 Image Editing 2 - submission of the 4th assignment (10 points) Daniel Sýkora
11th 29.11.2022 Image Registration 1 - estimation of translation, scale and rotation using Fourier-Mellin transform (phase correlation, log-polar transformation) Ondřej Drbohlav
12th 06.12.2022 Image Registration 2 - submission of the 5th assignment (10 points) Ondřej Drbohlav
13th 13.12.2022 Image Segmentation 1 - painting hand-drawn images using maxflow algorithm Daniel Sýkora
14th 10.01.2022 Image Segmentation 2 - submission of the 6th assignment (10 points) Daniel Sýkora

In total, it is possible to obtain 60 points from all assignments. In order to pass labs, student have to obtain at least 30 points.


The exam has two parts, written and oral. In the written part, the student will work through two randomly selected questions covering the subject matter within 30 minutes. This is followed by an oral examination where the examiner goes through the written preparation with the student and asks supplementary questions. The aim of these questions is to find out to what extent the student understands the material. Rather than encyclopedic knowledge, what is important is the depth of understanding of the topics discussed and the ability to implement them in practice. A maximum of 20 points can be obtained for each question. Thus, in total 40 points can be obtained for the exam. To pass the exam, a minimum of 20 points is required in total.


The final grade is determined by the sum of the points obtained from the labs (maximum 60) and from the exam (maximum 40):

Grade Point range Description
A 90 or more excellent
B 80 to 89 very good
C 70 to 79 good
D 60 to 69 satisfactory
E 50 to 59 passable
F less than 50 failed


  • He J., Kim C.-S., Kuo C.-C. J.: Interactive Segmentation Techniques: Algorithms and Performance Evaluation, Springer, 2014.
  • Radke R. J.: Computer Vision for Visual Effects, Cambridge University Press, 2012.
  • Goshtasby A. A.: Image Registration: Principles, Tools and Methods, Springer, 2012.
  • Paris S., Kornprobst P., Tumblin J., Durand F.: Bilateral Filtering: Theory and Applications, Now Publishers, 2009.
  • Gonzalez R. C., Woods R. E.: Digital Image Processing (3rd Edition), Prentice Hall, 2008.
  • Šonka M., Hlaváč V., Boyle R.: Image Processing, Analysis and Machine vision (3rd Edition), Thomson Learning, 2007.
  • Pratt W.: Digital Image Processing (3rd Edition), John Wiley, 2004.
courses/be4m33dzo/start.txt · Last modified: 2022/09/20 14:15 by drbohlav