Subject

Digital image processing

1. Course Title Digital image processing
Digital image processing
2. Code F23L2S095
3. Study Programme
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) First Cycle
6. Academic year / semester 4 / Summer
7. Number of ECTS credits 6
8. Teacher Andrea Kulakov, Ivica Dimitrovski
9. Prerequisites for enrolling in the course Discrete Mathematics or Discrete Structures 2 or Mathematics 2 or Selected Topics in Mathematics
10. Objectives of the course programme (competences) Upon completion of the course, the student is expected to master and use the basic tools and methods for image processing.
11. Course content Lectures:
1. Historical overview; Types of images and image creation devices; Image display; Digital images and pixels; Color components; Overview of applications and examples of digital image processing; Image digitization: 2-D sampling and reconstruction; quantization; digitization; Introduction to OpenCV and Python; Basic image operations
2. Pixel-level transformations in images; Image histogram; Image contrast and gamma; Histogram equalization; Adaptive histogram equalization; Color space.
3. Linear filters and convolution; Image smoothing and sharpening.
4. Edge detection: gradient-based methods, Laplacian-based methods; edge merging; Image segmentation: threshold-based segmentation; region-based segmentation.
5. Morphological operations on an image: dilation/erosion; opening/closing; boundary extraction; region filling; connected component extraction; thinning; thickening; skeletonization.
6. 2-D Fourier transform and properties. Wavelets and multiresolution processing. Image templates and pyramids.
7. Image compression.
8. Detection of shapes in an image and contour analysis.
9. Extraction of visual features from images. Keypoint detection. A lexicon of visual words. Panoramic images.
10. Application of image processing algorithms.
11. Application of image processing algorithms. .

Practical Classes:
1. Installation and configuration of OpenCV and Python; Basic operations in OpenCV and Python
2. Practical examples of transforming pixel values in an image, calculating histograms, and manipulating image contrast.
3. Practical examples in OpenCV and Python.
4. Practical examples in OpenCV and Python.
5. Practical examples in OpenCV and Python.
6. Practical examples in OpenCV and Python.
7. Practical examples in OpenCV and Python.
8. Practical examples in OpenCV and Python.
9. Practical examples in OpenCV and Python.
10. Practical examples in OpenCV and Python.
11. Practical examples in OpenCV and Python.
12. Learning methods Lectures supported by slide presentations, interactive lectures, exercises (using equipment and software packages), teamwork, case studies, guest lecturers, independent preparation and defense of a project assignment and seminar paper, learning in an electronic environment (forums, consultations).
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 45 + 15 + 15 + 75 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 hours
16.2. Independent assignments 15 hours
16.3. Home study 75 hours
17. Assessment method
17.1. Tests 0 points
17.2. Seminar paper / project (presentation: written and oral) 15 points
17.3. Activities and learning 0 points
17.4. Final exam 70 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam completed activities 15.1 and 15.2
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. Rafael C. Gonzalez, Richard E. Woods | Digital Image Processing (4th Edition) | Pearson | 2017
2. Prateek Joshi | OpenCV with Python By Example | Packt Publishing | 2015
22.2. Additional literature
No. Author Title Publisher Year