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.
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.
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.
Author(s): Alasdair McAndrew
Edition: 2nd Edition
Publisher: CRC Press
Year: 2015
Language: English
Pages: 535
Tags: image processing, matlab, python, computer vision
Introduction 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 Programs Image Display Introduction The imshow Function Bit Planes Spatial Resolution Quantization and Dithering Programs Point Processing Introduction Arithmetic Operations Histograms Lookup Tables Neighborhood Processing Introduction Notation 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 Programs Image Geometry Interpolation of Data Image Interpolation General Interpolation Enlargement by Spatial Filtering Scaling Smaller Rotation Correcting Image Distortion The Fourier Transform Introduction Background 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 Programs Image Restoration Introduction Noise Cleaning Salt and Pepper Noise Cleaning Gaussian Noise Removal of Periodic Noise Inverse Wiener Filtering Image Segmentation Introduction Thresholding 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 Introduction 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 Programs Image Topology Introduction Neighbors and Adjacency Paths and Components Equivalence Relations Component Labeling Lookup Tables Distances and Metrics Skeletonization Programs Shapes and Boundaries Introduction Chain Codes and Shape Numbers Fourier Descriptors Color Processing What Is Color? Color Models Manipulating Color Images Pseudocoloring Processing of Color Images Programs Image Coding and Compression Lossless and Lossy Compression Huffman Coding Run Length Encoding Dictionary Coding: LZW Compression The JPEG Algorithm Programs Wavelets 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 Bibliography Index Exercises appear at the end of each chapter.