On this page, you should find all the information about exercises of the Digital Image Processing course.

Evaluation - how can you earn a credit

During the exercises, we will cover some topic of digital image processing. Your task is complete them and handover them for final grading.

Task Points
Gamma correction 1
Convolution 1
Anisotropic diffusion 2
Discrete Fourier Transform 4
Inverse Discrete Fourier Transform 4
Filtering in frequency domain 3
Lens distortion removal 3
Histogram equalization 1
Projective transform 3
Backprojection 3
Edge detection x
Edge thinning x
Double thresholding x

Other sources

A simple tutorial describing how to program with the OpenCV is provided in the following link: Introduction to OpenCV

Exercise 1

You can use a project for the Visual Studio 2017 in the Windows environment to code the exercise.

You can also use a project from CodeBlocks in the Linux environment.

Color image of Lena that we can use for our experiments.

You can also read explanatory text that describes the first exercise in detail. Basic operations with images are described.

Exercise 2

Grayscale image Moon that we can use for our experiments with Gamma correction and contrast enhancement.

Exercise 3

We'll implement a convolution algorithm. You can apply Box blur, Gaussian blur, Laplace, or other matrices as a convolution mask.

Exercise 4

Filtering using anisotropic diffusion (see instructions).

Exercise 5

In this exercise, we will compute the Discrete Fourier Transform. Description of the algorithm is provided in this PDF. Czech version available here.

We can use earth.png and lena64.png grayscale images for our experiments with the DFT.

Exercise 6

In this exercise, we will compute the Inverse Discrete Fourier Transform. Description of the algorithm is provided in this PDF.

Exercise 7

In this exercise, we'll apply low and high pass filters in the frequency domain. We can try to remove a noise, bars, etc. Follow the text (in Czech) or text (in English) to complete the exercise.

Here are a few images, that we can use for our experiments: lena64.png, lena64_noise.png, lena64_noise2.png, lena64_bars.png.

FFT on sin function with period of 4
FFT on sin function with period of 8

Exercise 8

In this exercise, we'll implement a simple removal of a geometric distortion. Description of the algorithm is provided in this PDF (Czech), and also English version.

The following images can be used for our experiments: Panorama, Window.

A simple template program is provided.

Exercise 9

Image for histogram equalisation: uneq.jpg

How it should look like: screenshot

Instructions how to implement.

Exercise 10

We'll have fun with the projective transform. Use the image of our university and the Czech flag as input images. The result should look like: this.

Use this text that describes the projective transform.

Exercise 11

Color image of a valve (already available in the provided project) that we can use for our experiments.

You can use a project for the CodeBlocks in the Linux environment to code the exercise or you can also use a project for the Visual Studio 2015 in the Windows environment to code the exercise.

We'll implement x and y derivatives of image and visualize edge magnitudes of the valve image:

Exercise 12

We'll implement a Laplace operator of the valve image:

A colored version of the previous image:

Exercise 13

Edge simplification & double thresholding on the valve image: