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 use a project for the Visual Studio Code in the Linux environment to code the exercise.

First, install these two VSCode extensions first:

```code --install-extension ms-vscode.cpptools
code --install-extension vector-of-bool.cmake-tools
```

Color image of Lena that we can use for our experiments. It's included in our project.

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.  ## Exercise 8

In this exercise, we'll implement a simple removal of a geometric distortion. Description of the algorithm is provided in this text.

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.

We'll implement x and y derivatives of image (see Sobel operator) and visualize edge magnitudes of the valve image:

## Exercise 12

We'll implement edge thinning & double thresholding on the valve image: ## Exercise 13

We'll implement a Laplace operator of the valve image: A colored version of the previous image: 