This book has two key aims. It is an introductory level text that covers modern image processing and pattern recognition techniques. Furthermore, it offers a comprehensive learning framework by providing source code examples, extensive exercises and hands-on computer experiments.
The source code examples are written in Matlab, which makes the book especially interesting for those who have access to Matlab including the Image Processing Toolbox. While the authors do not mention compatibility with free Matlab alternatives like Octave, most of the examples probably work on these if no Matlab license is available to the reader.
The book is supplemented by a well-designed website that provides electronic copies of the example code, the example images, additional exercises and even two larger example projects.
Fundamentals of digital image processing is written in a clear style that is easy to read even for non-native speakers like the author of this review.
The book has eleven chapters, the first eight of which cover the fundamental image processing topics: image representation, image formation, pixel operations, image enhancement, frequency-domain image processing, image restoration, geometry transforms, and morphological operations. The following three chapters, that make up for about one fourth of the book, cover the pattern recognition topics image segmentation, feature extraction, and classification.
The first chapter answers the introductory question: “what is an image?”. It covers topics like image formats, resolution, quantization, color spaces, and the specific representation, I/O, and display of images in Matlab.
Chapter two covers the formation of images. It starts with an introduction to the mathematical background of image formation and proceeds with an overview of the engineering aspects of image formation. The mathematics are described in a practical way instead of covering extensive theoretical derivations, which makes sense with respect to the aims of the book.
In chapter three, pixels, pixel operations, and pixel distribution operations are explained. It covers topics like thresholding, point-based transforms, and histogram operations.
The forth chapter provides an overview of the most fundamental image enhancement techniques, such as linear and non-linear filters, edge detection, and edge enhancement.
The Fourier series, Fourier transform and frequency-domain filtering are nicely explained in chapter 5.
Image restoration techniques like Wiener filtering and blind deconvolution are the topics of chapter six, which covers more complex topics than the previous chapters.
Chapters seven and eight are the last chapters focusing on image processing topics. They cover geometry transforms and morphological operations. Especially the chapter on morphological operations provides a comprehensive overview of the topic.
Features and their extraction from images are the topics of chapter nine, which is the first of three chapters on pattern recognition techniques. Given the vast amount of feature extraction methods the authors of course had to focus on a selection of key techniques.
Surprisingly, image segmentation approaches are covered in the following chapter. Considering the typical pattern recognition pipeline, that consists of image segmentation, feature extraction (often based on the segmentation), and finally classification, I would have expected a different sequence. Again, given the extensive amount of segmentation approaches, only a selection of methods could be covered by the authors. The selection, however, makes sense, considering the aim of the book.
The last chapter is on classification techniques and covers linear discriminant functions and Bayesian classification. It also provides an introduction to ensemble classifiers and unsupervised learning techniques by explaining AdaBoost and k-means clustering.
Overall, Fundamentals of Digital Image Processing can be recommended to students and professionals who are searching for a hands-on introduction to both image processing and pattern recognition. It is especially well suited for those with access to a Matlab license. However, it is not the only book that covers these topics.
Digital Image Processing:
A Practical Approach with Examples in Matlab
Chris Solomon and Toby Breckon
Wiley, December 2010
Matthias Elter (Germany)
Recent book reviews:
An Introduction to Biometrics
by Anil Jain, Arun Ross,
and Karthik Nandhakumar
Handbook of Geometric Computing
by Eduardo Bayro Corrachano (Ed.)
Essential Image Processing and GIS for
by Jian Guo Liu and Philippa Mason
Handbook of Pattern Recognition and
Computer Vision, 4th Edition
by C.H. Chen
Multi-Sensor Data Fusion with MATLAB
by Jitendra R. Raol
Embedded Computer Vision
by Branislav Kisacanin, Shuvra S. Bhattacharyya, and Sek Chai (Eds.)