A Computational Introduction to Digital Image Processing: 2nd Edition (Hardback) book cover

A Computational Introduction to Digital Image Processing

2nd Edition

By Alasdair McAndrew

Chapman and Hall/CRC

535 pages | 16 Color Illus. | 388 B/W Illus.

Purchasing Options:$ = USD
Hardback: 9781482247329
pub: 2015-11-05
SAVE ~$24.00
eBook (VitalSource) : 9780429161803
pub: 2015-10-28
from $60.00

FREE Standard Shipping!


Highly Regarded, Accessible Approach to Image Processing Using Open-Source and Commercial Software

A Computational Introduction to Digital Image Processing, Second Edition explores the nature and use of digital images and shows how they can be obtained, stored, and displayed. Taking a strictly elementary perspective, the book only covers topics that involve simple mathematics yet offer a very broad and deep introduction to the discipline.

New to the Second Edition

This second edition provides users with three different computing options. Along with MATLAB®, this edition now includes GNU Octave and Python. Users can choose the best software to fit their needs or migrate from one system to another. Programs are written as modular as possible, allowing for greater flexibility, code reuse, and conciseness. This edition also contains new images, redrawn diagrams, and new discussions of edge-preserving blurring filters, ISODATA thresholding, Radon transform, corner detection, retinex algorithm, LZW compression, and other topics.

Principles, Practices, and Programming

Based on the author’s successful image processing courses, this bestseller is suitable for classroom use or self-study. In a straightforward way, the text illustrates how to implement imaging techniques in MATLAB, GNU Octave, and Python. It includes numerous examples and exercises to give students hands-on practice with the material.


"This textbook does an excellent job covering the basics of image processing. I highly recommend it."

—Reza Malek-Madani, Professor of Mathematics, US Naval Academy

"This book is the most concise and readable introductory text on digital image processing I have ever encountered. It provides a gentle introduction to the field with little mathematics and plenty of examples. Each topic is clearly explained and can be practiced using ready-made computer programs written in three programming languages (MATLAB, Octave, and Python)."

—Mahamed G.H. Omran, PhD, Gulf University for Science & Technology (GUST), Kuwait

Table of Contents


Images and Pictures

What Is Image Processing?

Image Acquisition and Sampling

Images and Digital Images

Some Applications

Image Processing Operations

An Image Processing Task

Types of Digital Images

Image File Sizes

Image Perception

Images Files and File Types

Opening and Viewing Grayscale Images

RGB Images

Indexed Color Images

Numeric Types and Conversions

Image Files and Formats


Image Display


The imshow Function

Bit Planes

Spatial Resolution

Quantization and Dithering


Point Processing


Arithmetic Operations


Lookup Tables

Neighborhood Processing



Filtering in MATLAB and Octave

Filtering in Python

Frequencies; Low and High Pass Filters

Gaussian Filters

Edge Sharpening

Non-Linear Filters

Edge-Preserving Blurring Filters

Region of Interest Processing


Image Geometry

Interpolation of Data

Image Interpolation

General Interpolation

Enlargement by Spatial Filtering

Scaling Smaller


Correcting Image Distortion

The Fourier Transform



The One-Dimensional Discrete Fourier Transform

Properties of the One-Dimensional DFT

The Two-Dimensional DFT

Experimenting with Fourier Transforms

Fourier Transforms of Synthetic Images

Filtering in the Frequency Domain

Homomorphic Filtering


Image Restoration



Cleaning Salt and Pepper Noise

Cleaning Gaussian Noise

Removal of Periodic Noise


Wiener Filtering

Image Segmentation



Applications of Thresholding

Choosing an Appropriate Threshold Value

Adaptive Thresholding

Edge Detection

Derivatives and Edges

Second Derivatives

The Canny Edge Detector

Corner Detection

The Hough and Radon Transforms

Mathematical Morphology


Basic Ideas

Dilation and Erosion

Opening and Closing

The Hit-or-Miss Transform

Some Morphological Algorithms

A Note on the bwmorph Function in MATLAB and Octave

Grayscale Morphology

Applications of Grayscale Morphology


Image Topology


Neighbors and Adjacency

Paths and Components

Equivalence Relations

Component Labeling

Lookup Tables

Distances and Metrics



Shapes and Boundaries


Chain Codes and Shape Numbers

Fourier Descriptors

Color Processing

What Is Color?

Color Models

Manipulating Color Images


Processing of Color Images


Image Coding and Compression

Lossless and Lossy Compression

Huffman Coding

Run Length Encoding

Dictionary Coding: LZW Compression

The JPEG Algorithm



Waves and Wavelets

A Simple Wavelet: The Haar Wavelet

Wavelets and Images

The Daubechies Wavelets

Image Compression Using Wavelets

High Pass Filtering Using Wavelets

Denoising Using Wavelets

Special Effects

Polar Coordinates

Ripple Effects

General Distortion Effects

Pixel Effects

Color Images

Appendix A: Introduction to MATLAB and Octave

Appendix B: Introduction to Python

Appendix C: The Fast Fourier Transform



Exercises appear at the end of each chapter.

About the Author

Alasdair McAndrew is a senior lecturer and discipline leader in mathematics and physics at Victoria University in Melbourne, Australia. His teaching and research interests include image processing, cryptography, mathematics, and mathematics education. An avid technophile, he is the author of the CRC Press book Introduction to Cryptography with Open-Source Software. He holds a PhD from Monash University.

Subject Categories

BISAC Subject Codes/Headings:
COMPUTERS / Computer Graphics
MATHEMATICS / Graphic Methods