COURSE DESCRIPTION
Foundational Training in Image processing and Pattern Recognition
This course emphasizes the conversion of images into digital form, initial processing techniques like noise reduction, improving contrast, and removing blur, as well as techniques for identifying edges, dividing images into segments, and applying geometric changes. Theoretical concepts will be illustrated through experimental examples and real-world uses. Practical sessions will be held in computer laboratories, with coding exercises in Python.
COURSE SCHEDULE
15.2. - 10:00 - 13:30 CANCELED
22.2. - 10:00 - 13:30 labs ON-LINE
29.2. - 10:00 - 13:30 lecture
07.3. - 10:00 - 13:30 lecture
14.3. - 10:00 - 13:30 lecture
21.3. - 10:00 - 13:30 labs ON-LINE
28.3. - 10:00 - 13:30 lecture
04.4. - 10:00 - 13:30 labs ON-LINE
11.4. - 10:00 - 13:30 lecture
18.4. - 10:00 - 13:30 lecture
25.4. - 10:00 - 13:30 labs ON-LINE
02.5. - 10:00 - 13:30 labs ON-LINE
09.5. - 10:00 - 13:30 labs ON-LINE
16.5. - CANCELED [Wednesday timetable]
Classes take place only in the summer semester. Time and room according to the FNSPE schedule.
COURSE OUTLINE
Convolution and Fourier transform in the continuous and discrete domain
Digitization of signals and images - Sampling theorem, Nyquist inequalities, reconstruction of continuous signal under sampling, interpolation, quantization, quantization noise
Histogram and its transformation (equalization, contrast enhancement), color in the image
Models of noise in the image and methods for its suppression (convolution filters, median, bilateral filter, NLM, others)
Edge detection in the image (derivative methods, frequency domain, Hough transform)
Basic types of image blurring, their modelling and estimation, inverse and Wiener filters
Geometric registration (matching) of images -basic principles and methods (image and phase correlation, transform models, resampling)
"Handcrafted" features for 2D objects I - visual features, Fourier descriptors, local features, SIFT
"Handcrafted" features for 2D objects II - Moments, moment invariants due to rotation and scaling, normalization
COURSE OUTLINE
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
COURSE HANDOUTS
The files contain most of the slides used. This is not the complete lecture content; the knowledge recorded in the files is insufficient to pass the exam!
RECOMMENDED LITERATURE
[1] Pratt W. K.: Digital Image Processing (3rd ed.), John Wiley, New York, 2001
[2] Gonzales R. C., Woods R. E., Digital Image Processing (2nd ed.), Prentice Hall, 2002
[3] Zitová B., Flusser J., Image registration methods: a survey. Image and Vision Computing, 21 (2003), 11, pp. 977-1000
EXTENSION MATERIAL
LABS
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 novozamsky@utia.cas.cz
The exercises will be in Czech, but all materials and texts will be in English.
REQUIREMENTS
Zoom account - the webcam will be on !
GitHub account
Gmail account for Colab is recommended
Browser
PYTHON CRASH COURSE
LABS START HERE!
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.
Zoom link: https://cesnet.zoom.us/j/96991538006
Get a link from your teacher, e.g. https://classroom.github.com/a/YspbK****
Sign in to GitHub
If necessary, click on the "Authorize GitHub Classroom" button
Find your name in the list (only for the first assignment)
Click on "Accept the assignment"
Click on "Authorize Google Colab"
Click on "GitHub" (or File > Open Notebook > GitHub)
Type your GitHub user name (check "Include private repos")
Find the desired repository and the notebook file
Loading (In case of "Error", press "Retry")
If necessary, click on the "Authorize with GitHub" button
Edit the notebook, finish excercises
Save in GitHub (File > Save a copy in GitHub)
MATERIALS FOR LABS
Lab 1 - DIZO001 - Digital Image Processing - 16. 02. 2024 - 10:00 a.m.
Introduction to Python, Python fundamentals for Image Processing, Colab, GitHub, Basic Image Manipulation, Fourier Transform
GitHub Classroom link
Lab 2 - DIZO002 - Digital Image Processing - 21. 03. 2024 - 10:00 a.m.
Noise Reduction, Edge detection, Histogram
GitHub Classroom link
Lab 3 - DIZO003 - Digital Image Processing - 04. 04. 2024 - 10:00 a.m.
Hough and Radon Transform
GitHub Classroom link
Lab 4 - DIZO004 - Digital Image Processing - 25. 04. 2024 - 10:00 a.m.
Image Registration, Morphological Transformations
GitHub Classroom link
Lab 6 - DIZO006 - Digital Image Processing - 02. 05. 2024 - 10:00 a.m.
Digital image processing in practice
Lab 5 - DIZO005 - Digital Image Processing - 09. 05. 2024 - 10:00 a.m.
Segmentation by Thresholding and Object Recognition
GitHub Classroom link