Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A computational introduction to digital image processing (2nd ed.)
McAndrew A., Chapman & Hall/CRC, Boca Raton, FL, 2016. 551 pp. Type: Book (978-1-482247-32-9)
Date Reviewed: Aug 3 2017

Many books have been published on digital image processing. Alasdair McAndrew’s A computational introduction to digital image processing is a relevant choice for all those who would like to enter the field from a practical perspective. Indeed, the book covers most key components of image processing, in a tutorial mode and relying on many code examples in MATLAB, Octave, and Python. The essence of the book is that concepts are presented through a trial-and-error approach (instead of mathematical formalization) that actually eases discovery and understanding of the image processing basics. Thus, the book is specifically dedicated to students, engineers, researchers, and other practitioners that do not have a solid math background (or at least do not want to rely on it when getting started with digital image processing).

Among the numerous topics that can be included in an introductory book on image processing, the author has picked some that can be mostly explained without going too deep into mathematical details. The list of chapters covers techniques that aim to ease the human interpretation of digital images on one side, and the automatic processing by computer vision on the other side. In other words, the book addresses both image processing and image analysis, with an appropriate balance between introducing the concepts, step-by-step descriptions of the methods, illustrations of the results on toy examples as well as real images, and reviews of the algorithms. The latter is achieved with extensive code samples that are systematically provided with Octave, MATLAB, and Python environments. Thus, it allows readers to enter the field with any of these solutions as the underlying programming environment. Furthermore, both Octave/MATLAB and Python are introduced through dedicated appendices, lowering the prerequisites assumed of the reader. Indeed, even without any knowledge of these environments, it is still possible to understand and code the various algorithms that are discussed in the book. As far as technical content is concerned, the book is a mix of chapters dealing with binary, grayscale, or color images, and focusing on geometric, spatial, statistical, and frequency operators. The provided toolkit allows the reader to perform most of the basic tasks in image processing and analysis, for example, image enhancement and restoration, thresholding and edge detection, morphological filtering, topological and geometrical measurements, and compression.

The real feature of the book is the tutorial-oriented way it introduces the different topics. For each one, the author presents and discusses the appropriate algorithms in a step-by-step approach, showing all intermediate results (this is rare enough in the literature to be pointed out). It allows the reader to better understand the motivations behind the reviewed methods, and to avoid falling into common mistakes. This pedagogical survey relies on many code samples, which are extensively and comprehensively discussed, with implementation differences between MATLAB, Octave, and Python systematically highlighted. Furthermore, each chapter is accompanied by a full set of exercises that require either paper or a computer.

While this book is definitely a valuable asset for discovering image processing with MATLAB, Octave, or Python environments, it also comes with some drawbacks. The well-established algorithms reviewed throughout mostly date from the 1980s; the book would have benefited from reviewing more modern techniques.

The coverage of the different topics is not always balanced (for example, skeletonization receives an astonishing amount of attention with several algorithms reviewed in detail, while morphological reconstruction is ignored). While some algorithms or examples are very standard, the book also includes some more original choices (for example, uncentered structuring elements). Some implementations are debatable (for example, using nested loops for scanning an image in MATLAB is known to be inefficient).

Despite these cons, the book remains an interesting first reading for those who seek a step-by-step, trial-and-error-designed, heavily coding-oriented introduction to digital image processing. It could also serve more experienced readers looking for some specific implementations in MATLAB, Octave, and Python. I have no doubt that the interested reader will then explore the field in more depth with more advanced books, or study more attentively the mathematical concepts behind the various methods reviewed in this book.

More reviews about this item: Amazon

Reviewer:  Sebastien Lefevre Review #: CR145459 (1710-0654)
Bookmark and Share
 
General (I.4.0 )
 
 
Matlab (G.4 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Matrix structured image processing
Dougherty E., Giardina C., Prentice-Hall, Inc., Upper Saddle River, NJ, 1987. Type: Book (9789780135656235)
Jul 1 1988
Digital image processing (2nd ed.)
Gonzales R., Wintz P., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1987. Type: Book (9789780201110265)
Jul 1 1988
Art and design: AI and its consequences
Howard G., John Wiley & Sons, Inc., New York, NY, 1986. Type: Book (9780471909309)
Dec 1 1987
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy