图书简介:
Contents
Preface
Acknowledgements
About the Authors
1 Introduction
Preview
1.1 Background
1.2 What Is Digital Image Processing?
1.3 Background on MATLAB and the Image Processing Toolbox
1.4 Areas of Image Processing Covered in the Book
1.5 The Book Web Site
1.6 Notation
1.7 Fundamentals
1.7.1 The MATLAB Desktop
1.7.2 Using the MATLAB Editor/Debugger
1.7.3 Getting Help
1.7.4 Saving and Retrieving Work Session Data
1.7.5 Digital Image Representation
1.7.6 Image I/O and Display
1.7.7 Classes and Image Types
1.7.8 M-Function Programming
1.8 How References Are Organized in the Book
Summary
2 Intensity Transformations and Spatial Filtering
Preview
2.1 Background
2.2 Intensity Transformation Functions
2.2.1 Functions imadjust and stretchlim
2.2.2 Logarithmic and Contrast- Stretching Transformations
2.2.3 Specifying Arbitrary Intensity Transformations
2.2.4 Some Utility M-functions for Intensity Transformations
2.3 Histogram Processing and Function Plotting
2.3.1 Generating and Plotting Image Histograms
2.3.2 Histogram Equalization
2.3.3 Histogram Matching (Specification)
2.3.4 Function adapthisteq
2.4 Spatial Filtering
2.4.1 Linear Spatial Filtering
2.4.2 Nonlinear Spatial Filtering
2.5 Image Processing Toolbox Standard Spatial Filters
2.5.1 Linear Spatial Filters
2.5.2 Nonlinear Spatial Filters
2.6 Using Fuzzy Techniques for Intensity Transformations and Spatial
Filtering
2.6.1 Background
2.6.2 Introduction to Fuzzy Sets
2.6.3 Using Fuzzy Sets
2.6.4 A Set of Custom Fuzzy M-functions
2.6.5 Using Fuzzy Sets for Intensity Transformations
2.6.6 Using Fuzzy Sets for Spatial Filtering
Summary
3 Filtering in the Frequency Domain
Preview
3.1 The 2-D Discrete Fourier Transform
3.2 Computing and Visualizing the 2-D DFT in MATLAB
3.3 Filtering in the Frequency Domain
3.3.1 Fundamentals
3.3.2 Basic Steps in DFT Filtering
3.3.3 An M-function for Filtering in the Frequency Domain
3.4 Obtaining Frequency Domain Filters from Spatial Filters
3.5 Generating Filters Directly in the Frequency Domain
3.5.1 Creating Meshgrid Arrays for Use in Implementing Filters
in the Frequency Domain
3.5.2 Lowpass (Smoothing) Frequency Domain Filters
3.5.3 Wireframe and Surface Plotting
3.6 Highpass (Sharpening) Frequency Domain Filters
3.6.1 A Function for Highpass Filtering
3.6.2 High-Frequency Emphasis Filtering
3.7 Selective Filtering
3.7.1 Bandreject and Bandpass Filters
3.7.2 Notchreject and Notchpass Filters
Summary
4 Image Restoration and Reconstruction
Preview
4.1 A Model of the Image Degradation/Restoration Process
4.2 Noise Models
4.2.1 Adding Noise to Images with Function imnoise
4.2.2 Generating Spatial Random Noise with a Specified
Distribution
4.2.3 Periodic Noise
4.2.4 Estimating Noise Parameters
4.3 Restoration in the Presence of Noise Only—Spatial Filtering
4.3.1 Spatial Noise Filters
4.3.2 Adaptive Spatial Filters
4.4 Periodic Noise Reduction Using Frequency Domain Filtering
4.5 Modeling the Degradation Function
4.6 Direct Inverse Filtering
4.7 Wiener Filtering
4.8 Constrained Least Squares (Regularized) Filtering
4.9 Iterative Nonlinear Restoration Using the Lucy-Richardson
Algorithm
4.10 Blind Deconvolution
4.11 Image Reconstruction from Projections
4.11.1 Background
4.11.2 Parallel-Beam Projections and the Radon Transform
4.11.3 The Fourier Slice Theorem and Filtered Backprojections
4.11.4 Filter Implementation
4.11.5 Reconstruction Using Fan-Beam Filtered Backprojections
4.11.6 Function radon
4.11.7 Function iradon
4.11.8 Working with Fan-Beam Data
Summary
5 Geometric Transformations and Image
Registration
Preview
5.1 Transforming Points
5.2 Affine Transformations
5.3 Projective Transformations
5.4 Applying Geometric Transformations to Images
5.5 Image Coordinate Systems in MATLAB
5.5.1 Output Image Location
5.5.2 Controlling the Output Grid
5.6 Image Interpolation
5.6.1 Interpolation in Two Dimensions
5.6.2 Comparing Interpolation Methods
5.7 Image Registration
5.7.1 Registration Process
5.7.2 Manual Feature Selection and Matching Using cpselect
5.7.3 Inferring Transformation Parameters Using cp2tform
5.7.4 Visualizing Aligned Images
5.7.5 Area-Based Registration
5.7.6 Automatic Feature-Based Registration
Summary
6 Color Image Processing
Preview
6.1 Color Image Representation in MATLAB
6.1.1 RGB Images
6.1.2 Indexed Images
6.1.3 Functions for Manipulating RGB and Indexed Images
6.2 Converting Between Color Spaces
6.2.1 NTSC Color Space
6.2.2 The YCbCr Color Space
6.2.3 The HSV Color Space
6.2.4 The CMY and CMYK Color Spaces
6.2.5 The HSI Color Space
6.2.6 Device-Independent Color Spaces
6.3 The Basics of Color Image Processing
6.4 Color Transformations
6.5 Spatial Filtering of Color Images
6.5.1 Color Image Smoothing
6.5.2 Color Image Sharpening
6.6 Working Directly in RGB Vector Space
6.6.1 Color Edge Detection Using the Gradient
6.6.2 Image Segmentation in RGB Vector Space
Summary
7 Wavelets
Preview
7.1 Background
7.2 The Fast Wavelet Transform
7.2.1 FWTs Using the Wavelet Toolbox
7.2.2 FWTs without the Wavelet Toolbox
7.3 Working with Wavelet Decomposition Structures
7.3.1 Editing Wavelet Decomposition Coefficients without the
Wavelet Toolbox
7.3.2 Displaying Wavelet Decomposition Coefficients
7.4 The Inverse Fast Wavelet Transform
7.5 Wavelets in Image Processing
Summary
8 Image Compression
Preview
8.1 Background
8.2 Coding Redundancy
8.2.1 Huffman Codes
8.2.2 Huffman Encoding
8.2.3 Huffman Decoding
8.3 Spatial Redundancy
8.4 Irrelevant Information
8.5 JPEG Compression
8.5.1 JPEG
8.5.2 JPEG 2000
8.6 Video Compression
8.6.1 MATLAB Image Sequences and Movies
8.6.2 Temporal Redundancy and Motion Compensation
Summary
9 Morphological Image Processing
Preview
9.1 Preliminaries
9.1.1 Some Basic Concepts from Set Theory
9.1.2 Binary Images, Sets, and Logical Operators
9.2 Dilation and Erosion
9.2.1 Dilation
9.2.2 Structuring Element Decomposition
9.2.3 The strel Function
9.2.4 Erosion
9.3 Combining Dilation and Erosion
9.3.1 Opening and Closing
9.3.2 The Hit-or-Miss Transformation
9.3.3 Using Lookup Tables
9.3.4 Function bwmorph
9.4 Labeling Connected Components
9.5 Morphological Reconstruction
9.5.1 Opening by Reconstruction
9.5.2 Filling Holes
9.5.3 Clearing Border Objects
9.6 Gray-Scale Morphology
9.6.1 Dilation and Erosion
9.6.2 Opening and Closing
9.6.3 Reconstruction
Summary
10 Image Segmentation
Preview
10.1 Point, Line, and Edge Detection
10.1.1 Point Detection
10.1.2 Line Detection
10.1.3 Edge Detection Using Function edge
10.2 Line Detection Using the Hough Transform
10.2.1 Background
10.2.2 Toolbox Hough Functions
10.3 Thresholding
10.3.1 Foundation
10.3.2 Basic Global Thresholding
10.3.3 Optimum Global Thresholding Using Otsu's Method
10.3.4 Using Image Smoothing to Improve Global Thresholding
10.3.5 Using Edges to Improve Global Thresholding
10.3.6 Variable Thresholding Based on Local Statistics
10.3.7 Image Thresholding Using Moving Averages
10.4 Region-Based Segmentation
10.4.1 Basic Formulation
10.4.2 Region Growing
10.4.3 Region Splitting and Merging
10.5 Segmentation Using the Watershed Transform
10.5.1 Watershed Segmentation Using the Distance Transform
10.5.2 Watershed Segmentation Using Gradients
10.5.3 Marker-Controlled Watershed Segmentation
Summary
11 Representation and Description
Preview
11.1 Background
11.1.1 Functions for Extracting Regions and Their Boundaries
11.1.2 Some Additional MATLAB and Toolbox Functions Used
in This Chapter
11.1.3 Some Basic Utility M-Functions
11.2 Representation
11.2.1 Chain Codes
11.2.2 Polygonal Approximations Using Minimum-Perimeter Polygons
11.2.3 Signatures
11.2.4 Boundary Segments
11.2.5 Skeletons
11.3 Boundary Descriptors
11.3.1 Some Simple Descriptors
11.3.2 Shape Numbers
11.3.3 Fourier Descriptors
11.3.4 Statistical Moments
11.3.5 Corners
11.4 Regional Descriptors
11.4.1 Function regionprops
11.4.2 Texture
11.4.3 Moment Invariants
11.5 Using Principal Components for Description
Summary
Appendix A M-Function Summary
Appendix B ICE and MATLAB Graphical User Interfaces
Appendix C Additional Custom M-functions
Bibliography
Index
展开
Preface
This edition of Digital Image Processing Using MATLAB is a major revision of
the book. As in the previous edition, the focus of the book is based on the fact that solutions to problems in the field of digital image processing generally require extensive experimental work involving software simulation and testing with large sets of sample images. Although algorithm development typically is based on theoretical underpinnings, the actual implementation of these algorithms almost always requires parameter estimation and, frequently, algorithm revision and comparison of candidate solutions. Thus, selection of a flexible, comprehensive, and well-documented software development environment is a key factor that has important implications in the cost, development time, and portability of image processing solutions.
Despite its To achieve these objectives, we felt that two key ingredients were needed. The
first was to select image processing material that is representative of material covered in a formal course of instruction in this field. The second was to select software tools that are well supported and documented, and which have a wide range of applications in the “real” world.
To meet the first objective, most of the theoretical concepts in the following
chapters were selected from Digital Image Processing by Gonzalez and Woods,
which has been the choice introductory textbook used by educators all over the
world for over three decades. The software tools selected are from the MATLAB®
Image Processing Toolbox, which similarly occupies a position of eminence in
both education and industrial applications. A basic strategy followed in the preparation of the current edition was to continue providing a seamless integration of well-established theoretical concepts and their implementation using state-of-theart software tools.
The book is organized along the same lines as Digital Image Processing. In
this way, the reader has easy access to a more detailed treatment of all the image processing concepts discussed here, as well as an up-to-date set of references for further reading. Following this approach made it possible to present theoretical material in a succinct manner and thus we were able to maintain a focus on the software implementation aspects of image processing problem solutions. Because it works in the MATLAB computing environment, the Image Processing Toolbox offers some significant advantages, not only in the breadth of its computationalalgorithm development and experimental work.
After an introduction to the fundamentals of MATLAB functions and programming,
the book proceeds to address the mainstream areas of image processing.
The major areas covered include intensity transformations, fuzzy image processing, linear and nonlinear spatial filtering, the frequency domain filtering, image restoration and reconstruction, geometric transformations and image registration, color image processing, wavelets, image data compression, morphological image processing, image segmentation, region and boundary representation and description, and object recognition. This material is complemented by numerous illustrations of how to solve image processing problems using MATLAB and toolbox functions.
In cases where a function did not exist, a new function was written and documented as part of the instructional focus of the book. Over 120 new functions are included in the following chapters. These functions increase the scope of the Image Processing Toolbox by approximately 40% and also serve the important purpose of further illustrating how to implement new image processing software solutions.
The material is presented in textbook format, not as a software manual.
Although the book is self-contained, we have established a companion web site
(see Section 1.5) designed to provide support in a number of areas. For students following a formal course of study or individuals embarked on a program of self study, the site contains tutorials and reviews on background material, as well as projects and image databases, including all images in the book. For instructors, the site contains classroom presentation materials that include PowerPoint slides of all the images and graphics used in the book. Individuals already familiar with image processing and toolbox fundamentals will find the site a useful place for up-to-date references, new implementation techniques, and a host of other support material not easily found elsewhere. All purchasers of new books are eligible to download
executable files of all the new functions developed in the text at no cost.
As is true of most writing efforts of this nature, progress continues after work on the manuscript stops. For this reason, we devoted significant effort to the selection of material that we believe is fundamental, and whose value is likely to remain applicable in a rapidly evolving body of knowledge. We trust that readers of the book will benefit from this effort and thus find the material timely and useful in their work.
Rafael C. Gonzalez
Richard E. Woods
Steven L. Eddins
展开