skip to main content
Skip header Section
An Interdisciplinary Introduction to Image Processing: Pixels, Numbers, and ProgramsApril 2012
Publisher:
  • The MIT Press
ISBN:978-0-262-01716-9
Published:27 April 2012
Pages:
534
Skip Bibliometrics Section
Reflects downloads up to 25 Jan 2025Bibliometrics
Skip Abstract Section
Abstract

This book explores image processing from several perspectives: the creative, the theoretical (mainly mathematical), and the programmatical. It explains the basic principles of image processing, drawing on key concepts and techniques from mathematics, psychology of perception, computer science, and art, and introduces computer programming as a way to get more control over image processing operations. It does so without requiring college-level mathematics or prior programming experience. The content is supported by PixelMath, a freely available software program that helps the reader understand images as both visual and mathematical objects. The first part of the book covers such topics as digital image representation, sampling, brightness and contrast, color models, geometric transformations, synthesizing images, stereograms, photomosaics, and fractals. The second part of the book introduces computer programming using an open-source version of the easy-to-learn Python language. It covers the basics of image analysis and pattern recognition, including edge detection, convolution, thresholding, contour representation, and K-nearest-neighbor classification. A chapter on computational photography explores such subjects as high-dynamic-range imaging, autofocusing, and methods for automatically inpainting to fill gaps or remove unwanted objects in a scene. Applications described include the design and implementation of an image-based game. The PixelMath software provides a "transparent" view of digital images by allowing the user to view the RGB values of pixels by zooming in on an image. PixelMath provides three interfaces: the pixel calculator; the formula page, an advanced extension of the calculator; and the Python window.

Contributors

Reviews

Fernando Santos Osorio

The title of this book really describes its contents. It is about image processing, which relates to many different disciplines including computer science, mathematics, signal processing, photography, and the arts, as well as many different application areas. Tanimoto describes the main concepts, techniques, and applications of image processing, and presents several examples, from the concepts of pixels, images, and color components to image manipulation techniques based on mathematical functions, and Python programming. The practical aspects and resources associated with this book distinguish it from similar books. It provides excellent teaching support material. PixelMath2012, the software used in the book, can be obtained from the book's Web site (http://pixels.cs.washington.edu), along with many examples. PixelMath is written in Java and uses Python scripting; runs on Windows, Macintosh OS X, and Linux; and is provided free of charge for noncommercial educational purposes. The software has two main features: a calculator and a Python programming interface. With the calculator, a programmer can create, visualize, and transform images using image processing mathematical and plotting functions, including geometric transformations, masks, filters, noise reduction, convolutions, and the fast Fourier transform (FFT). These allow users to execute complex image processing algorithms in a very simple and fast way. This powerful tool can be used by teachers to easily demonstrate different image processing concepts and examples of mathematical functions. Using the calculator is as easy as using other software, such as MATLAB, with an image processing toolbox. The difference is that PixelMath is free (for educational purposes) and it runs on different operating system platforms without complex installation procedures. Using the Python programming interface, users can create sophisticated image processing programs as Python scripts. The integration of Python within correspondent functions, variables, and operators in the calculator allows for the creation of interesting applications, such as image morphing and fractal generators, as demonstrated in the book. This is really a "two-in-one" book, covering image processing concepts and techniques as well as Python programming. The chapters on Python programming are very complete, including basics, control structures, data structures, functions, and programming techniques. This section of the book could be used to teach Python through image processing examples. I'm seriously considering adopting this as the textbook for future introductory classes in image processing for computer science. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations