Home page of the University

Image Processing

Teacher: Jos B.T.M. Roerdink

This course is part of the master program Computing Science.
For up-to-date information, see Nestor.

Course Goals

Presentation of the basic concepts of digital image processing, from image acquisition, digitization, and preprocessing, to image enhancement, restoration, segmentation and description. Both standard linear image processing algorithms are treated, as well as some concepts and algorithms from nonlinear morphological image processing. Also, some recent results on multiscale image analysis are presented. The course aims at fostering insight in the theoretical (mathematical) background needed for modeling image formation, image errors and noise sources and developing correction methods. Also, there is strong emphasis on design and implementation of image processing algorithms. The course provides the necessary knowledge for further study in Computer Vision, Scientific Visualization and Image Pattern Recognition.


  1. Linear algebra, analysis (integration and differentiation, Fourier analysis), discrete structures (set theory, lattices), signals and systems, elementary statistics.
    To get an idea of the mathematical tools used in Image Processing, check section 2.6 of the course book.
    The web site of the course book contains tutorials on matrix calculus, linear systems, set theory and probability, Matlab, etc.

    For students with deficiencies in mathematical background, additional meetings with the teacher can be organized upon request.

  2. Working knowledge of Matlab.

Cross links

Computer graphics, computer vision, signals and systems, scientific visualization.

Course qualifications

The student:

Course structure

Lectures (7 weeks, 2h p.w.), obligatory practicals. The practicals consist of a number of sessions with assignments. Study load: lectures+lab sessions+self study: 14h p.w. (total 140h).

Course material

The following materials are needed:

Course schedule

Course week Topic
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7
  • Fundamentals. Image acquisition, sampling and quantization. Classification of image operations. Image enhancement, spatial filtering.
  • Linear shift invariant (LSI) systems. Fourier transform, convolution, frequency domain filtering. Image restoration: (pseudo-)inverse filtering, Wiener filtering.
  • Multiscale processing: wavelets. Image compression.
  • Colour image processing. Morphological image processing. Erosion, dilation, openings and closings with structuring elements.
  • Morphological image processing. Thinning, thickening, skeletons, reconstruction and other connected filters, granulometries.
  • Image segmentation. Edge and contour detection; thresholding; region-based techniques, morphological watersheds.
  • Representation and description. Chain codes, boundary and regional descriptors, principal components.

Lab sessions

During each course week a number of lab sessions with assignments has to be completed, and reported about. The lab sessions have to carried out in pairs. Lab instructor is Michel Westenberg (BB-490, email: michel@cs.rug.nl), whom you can consult, preferably by email, if you have questions about the lab sessions.

Each student needs an account (csg-number) on our student computer system. If you don't yet have a csg-number, you can inform the lab instructor about it, who will then arrange an account for you with the system administrator.

Of each lab session, a report has to handed in within two weeks, containing (i) answers to the questions, (ii) source code of programs you wrote (iii) images (with captions) of results.
Reports/source code has to be handed in to the lab instructor (see Nestor for details).


A selection of books on image processing.

Web links

A selection of web links on Image Processing and software.


To earn the credits for the course, you have to comply with the following:

  1. Written test (tentamen). Date of the test is announced through ProgressWWW. The material for the test consists a selection of the course book. See Nestor for details.
  2. Lab sessions. Handing in reports of the lab sessions (meeting the deadlines).

The final score is determined as follows: (2*written-test-score + lab-sessions-score)/3.

You can only pass when the scores for the written test and the lab sessions are both >=5.

Jos B.T.M. Roerdink, Johann Bernoulli Institute for Mathematics and Computer Science, RuG, JBI-480, tel. 363 3931.