For anyone who wonders what goes on inside image editing software, this book is an excellent introduction. Designed as a text for “senior undergraduate or junior graduate students,” the content directly reflects the title. There are six chapters that cover: basic concepts; basic image processing tools; image preprocessing techniques; image segmentation; mathematical morphology (methods of identifying specific objects within an image); and image compression, including JPEG and MPEG. The point is not to discuss how to edit an image, but to describe the processing techniques available for editing, such as detecting edges, smoothing, restoration, and identifying parts of an image. Included with each chapter are exercises that amplify and aid understanding of the material.
The chapters start with the theory and mathematical basis for the given topic, including pseudocode renderings of algorithms. In several chapters, the reader will need a working knowledge of calculus, matrix algebra, and set theory, in order to follow the math. The way the authors translate the formal math is very helpful here, for example, using Fourier series that require integration for the discrete calculations needed for processing pixels. Each chapter includes images that show the result of applying various techniques, and code fragments that show how specific algorithms are implemented. The chapters end with suggestions for further reading--a nice touch, given the concise approach--and a list of references.
There are a few minor problems. First, the rather small example images make the effect of some of the transforms difficult to discern. Second, while the code examples are straightforward and well commented, the physical size of the book and the indentation of the C++ code make some of the longer lines break into two or more physical lines on the page, rendering them difficult to read. Finally, the book includes a CD with all of the code discussed, both source and binaries--as the code was developed with Microsoft Visual C++, this would be needed to compile the source; it also appears that Visual C++ must be installed on the computer for the binaries to run.
These minor problems aside, the book is straightforward to read and clear in its descriptions of the various image processing techniques. It should be of interest not just to students, but to anyone new to image processing who wishes to learn about it.