Digital image processing in practice : MFF-CUNI


Practical examples and applications of Image Processing and Pattern Recognition

A seminar that offers a deepening of the theory of digital image processing and recognition of the NPGR002 course and its supplementation with experiments and practical applications in the MATLAB programming language environment. Attention is paid to digital image digitization, preprocessing (noise suppression, contrast enhancement, blur removal), edge detection, geometric transformations, flag-based object description, and automatic recognition (classification) methods. The course can be taken concurrently with NPGR002, as a practicum, or independently after completing NPGR002.



Teaching in the winter semester takes place at a distance - in the form of online video meetings (via Zoom), sent materials and assignments. The date of the meeting is selected by a vote of the students + the teacher.


  • Lab 1:

    • Introduction to Python

    • Python fundamentals for Image Processing

    • Colab, GitHub

    • Basic Image Manipulation

    • Fourier Transform

  • Lab 2:

    • Noise Reduction

    • Edge detection

    • Histogram

  • Lab 3:

    • Image Registration

    • Morphological

    • Transformations

  • Lab 4:

    • Hough and Radon Transform

  • Lab 5:

    • Segmentation by Thresholding

    • Object Recognition

  • Lab 6:

    • Digital image processing in practice


We are going to take a step into the world of Image Processing using python. In order to do that, you should know the basics of Python. Please go through the following section before attending labs. Necessary information for completing all labs will be provided here. If you have any questions please contact

The exercises will be in Czech, but all materials and texts will be in English.


Zoom account - the webcam will be on !

GitHub account

Gmail account for Colab is recommended




At the beginning of every lab session, join Zoom Meeting, where you receive a link for a GitHub classroom assignment. It contains all codes for online/offline studying.

  1. Zoom link:

  2. Get a link from your teacher, e.g.****

  3. Sign in to GitHub

  4. If necessary, click on the "Authorize GitHub Classroom" button

  5. Find your name in the list (only for the first assignment)

  6. Click on "Accept the assignment"

  7. Go to

  8. Click on "Authorize Google Colab"

  9. Click on "GitHub" (or File > Open Notebook > GitHub)

  10. Type your GitHub user name (check "Include private repos")

  11. Find the desired repository and the notebook file

  12. Loading (In case of "Error", press "Retry")

  13. If necessary, click on the "Authorize with GitHub" button

  14. Edit the notebook, finish excercises

  15. Save in GitHub (File > Save a copy in GitHub)


We highly recommend taking the optional exercises for this course (online):



  • Lab 1 - NPGR032 - 24. 10. 2023 - 04:00 p.m.

    • Introduction to Python, Python fundamentals for Image Processing, Colab, GitHub, Basic Image Manipulation, Fourier Transform

    • GitHub Classroom link

  • Lab 2 - NPGR032 - 7. 11. 2023 - 04:00 p.m.

  • Lab 3 - NPGR032 - 21. 11. 2023 - 04:00 p.m.

  • Lab 4 - NPGR032 - 12. 12. 2023 - 04:00 p.m.

  • Lab 5 - NPGR032 - 19. 12. 2023 - 04:00 p.m.

  • Lab 6 - NPGR032 - 9. 1. 2024 - 04:00 p.m.