The aim of this book is to present the fundamental concepts and methods in an easy-to-read style.
It is targeted at undergraduate engineering/computer science students, but also at students without a strong mathematical background.

It has a focus on constructing systems and therefore contains two application chapters together with more example systems on this web site. Each chapter is ended by a number of exercises. The first exercise after each chapter aims at assessing to what degree the students have understood the main concepts. If possible, it is recommended that these exercises are discussed within small groups.
The following exercises have a more practical focus where concrete problems need to be solved using the different methods/algorithms presented in the associated chapters.

Lastly one or more so-called additional exercises are present.
These aim at topics not discussed directly in the chapters. The idea behind these exercises is that they can serve as self-studies where each student (or a small group of students) finds the solution by investigating other sources. They could then present their findings for other students. Besides the exercises listed in the book I strongly recommend to combine those with examples and exercises where real images/videos are processed.
Personally I start with ImageJ for image processing and EyesWeb for video processing. The main motivation for using these programs is that they are easy to learn and hence the students can focus on the video and image processing as opposed to a specific programming language, when solving the exercises.

However, when it comes to building real systems I recommend using OpenCV or openFrameworks (EyesWeb or similar can of course also be used to build systems, but they don’t generalize as well). To this end students of course need to have a course on procedural programming before or in parallel with the image processing course. To make the switch from ImageJ/Eyesweb to a more low level language like OpenCV, I normally ask each student to do an assignment where they write a program that can capture an image, make some image processing and display the result. When the students can do this they have a framework for implementing ”all” other image processing methods. The time allocated for this assignment of course depends on the programming experiences of the students. Feel free to contact me regarding comments, questions, or inspiration for PowerPoint presentations and/or exam questions.

Regards, Thomas