Digital Image Processing Using MATLAB / Edition 1

Digital Image Processing Using MATLAB / Edition 1

by Rafael Gonzalez, Richard Woods, Steven Eddins

ISBN-10: 0130085197

ISBN-13: 9780130085191

Pub. Date: 12/03/2003

Publisher: Pearson

Digital Image Processing Using MATLAB is the first book that provides a balanced treatment of image processing fundamentals and the software principles used in their practical implementation. The book integrates material from the leading text, Digital Image Processing by Gonzalez and Woods, and the Image Processing Toolbox of the MathWorks. Inc., a


Digital Image Processing Using MATLAB is the first book that provides a balanced treatment of image processing fundamentals and the software principles used in their practical implementation. The book integrates material from the leading text, Digital Image Processing by Gonzalez and Woods, and the Image Processing Toolbox of the MathWorks. Inc., a recognized leader in scientific computing. The Image Processing Toolbox provides a stable, well-supported set of software tools for addressing a broad range of applications in digital image processing. A unique feature of this hook is its emphasis on showing how to enhance those tools by the development of new code. This is important in image processing, where there is a need for extensive experimental work in order to arrive at acceptable problem solutions.

After an introduction to the fundamentals of MATLAB programming, the book addresses the mainstream areas of image processing. Areas covered include intensity transformations, linear and nonlinear spatial filtering, filtering in the frequency domain, image restoration and registration, color image processing, wavelets, image data compression, morphological image processing, image segmentation, regions and boundary representation and description, and object recognition.

Some Highlights
  • The book is self-contained.
  • Over 60 new image processing functions are developed—a 35% increase over the comprehensive set of functions in the Image Processing Toolbox.
  • A fully documented listing of every new function developed is included in the book.
  • Using C code with MATLAB is covered in detail.
  • Thereare 114 examples, over 400 images, and over 150 graphs and line drawings that enhance the discussion of the material.
  • All MATLAB, Image Processing Toolbox, and new functions used in the book, are conveniently summarized in an appendix.
  • The design of graphical user interfaces (GUIs) is covered in detail.
  • A book web site provides complimentary support.

Product Details

Publication date:
Product dimensions:
7.30(w) x 9.20(h) x 1.10(d)

Table of Contents

About the Authorsxiii
1.2What Is Digital Image Processing?2
1.3Background on MATLAB and the Image Processing Toolbox4
1.4Areas of Image Processing Covered in the Book5
1.5The Book Web Site6
1.7The MATLAB Working Environment7
1.7.1The MATLAB Desktop7
1.7.2Using the MATLAB Editor to Create M-Files9
1.7.3Getting Help9
1.7.4Saving and Retrieving a Work Session10
1.8How References Are Organized in the Book11
2.1Digital Image Representation12
2.1.1Coordinate Conventions13
2.1.2Images as Matrices14
2.2Reading Images14
2.3Displaying Images16
2.4Writing Images18
2.5Data Classes23
2.6Image Types24
2.6.1Intensity Images24
2.6.2Binary Images25
2.6.3A Note on Terminology25
2.7Converting between Data Classes and Image Types25
2.7.1Converting between Data Classes25
2.7.2Converting between Image Classes and Types26
2.8Array Indexing30
2.8.1Vector Indexing30
2.8.2Matrix Indexing32
2.8.3Selecting Array Dimensions37
2.9Some Important Standard Arrays37
2.10Introduction to M-Function Programming38
2.10.3Flow Control49
2.10.4Code Optimization55
2.10.5Interactive I/O59
2.10.6A Brief Introduction to Cell Arrays and Structures62
3Intensity Transformations and Spatial Filtering65
3.2Intensity Transformation Functions66
3.2.1Function imadjust66
3.2.2Logarithmic and Contrast-Stretching Transformations68
3.2.3Some Utility M-Functions for Intensity Transformations70
3.3Histogram Processing and Function Plotting76
3.3.1Generating and Plotting Image Histograms76
3.3.2Histogram Equalization81
3.3.3Histogram Matching (Specification)84
3.4Spatial Filtering89
3.4.1Linear Spatial Filtering89
3.4.2Nonlinear Spatial Filtering96
3.5Image Processing Toolbox Standard Spatial Filters99
3.5.1Linear Spatial Filters99
3.5.2Nonlinear Spatial Filters104
4Frequency Domain Processing108
4.1The 2-D Discrete Fourier Transform108
4.2Computing and Visualizing the 2-D DFT in MATLAB112
4.3Filtering in the Frequency Domain115
4.3.1Fundamental Concepts115
4.3.2Basic Steps in DFT Filtering121
4.3.3An M-function for Filtering in the Frequency Domain122
4.4Obtaining Frequency Domain Filters from Spatial Filters122
4.5Generating Filters Directly in the Frequency Domain127
4.5.1Creating Meshgrid Arrays for Use in Implementing Filters in the Frequency Domain128
4.5.2Lowpass Frequency Domain Filters129
4.5.3Wireframe and Surface Plotting132
4.6Sharpening Frequency Domain Filters136
4.6.1Basic Highpass Filtering136
4.6.2High-Frequency Emphasis Filtering138
5Image Restoration141
5.1A Model of the Image Degradation/Restoration Process142
5.2Noise Models143
5.2.1Adding Noise with Function imnoise143
5.2.2Generating Spatial Random Noise with a Specified Distribution144
5.2.3Periodic Noise150
5.2.4Estimating Noise Parameters153
5.3Restoration in the Presence of Noise Only--Spatial Filtering158
5.3.1Spatial Noise Filters159
5.3.2Adaptive Spatial Filters164
5.4Periodic Noise Reduction by Frequency Domain Filtering166
5.5Modeling the Degradation Function166
5.6Direct Inverse Filtering169
5.7Wiener Filtering170
5.8Constrained Least Squares (Regularized) Filtering173
5.9Iterative Nonlinear Restoration Using the Lucy-Richardson Algorithm176
5.10Blind Deconvolution179
5.11Geometric Transformations and Image Registration182
5.11.1Geometric Spatial Transformations182
5.11.2Applying Spatial Transformations to Images187
5.11.3Image Registration191
6Color Image Processing194
6.1Color Image Representation in MATLAB194
6.1.1RGB Images194
6.1.2Indexed Images197
6.1.3IPT Functions for Manipulating RGB and Indexed Images199
6.2Converting to Other Color Spaces204
6.2.1NTSC Color Space204
6.2.2The YCbCr Color Space205
6.2.3The HSV Color Space205
6.2.4The CMY and CMYK Color Spaces206
6.2.5The HSI Color Space207
6.3The Basics of Color Image Processing215
6.4Color Transformations216
6.5Spatial Filtering of Color Images227
6.5.1Color Image Smoothing227
6.5.2Color Image Sharpening230
6.6Working Directly in RGB Vector Space231
6.6.1Color Edge Detection Using the Gradient232
6.6.2Image Segmentation in RGB Vector Space237
7.2The Fast Wavelet Transform245
7.2.1FWTs Using the Wavelet Toolbox246
7.2.2FWTs without the Wavelet Toolbox252
7.3Working with Wavelet Decomposition Structures259
7.3.1Editing Wavelet Decomposition Coefficients without the Wavelet Toolbox262
7.3.2Displaying Wavelet Decomposition Coefficients266
7.4The Inverse Fast Wavelet Transform271
7.5Wavelets in Image Processing276
8Image Compression282
8.2Coding Redundancy286
8.2.1Huffman Codes289
8.2.2Huffman Encoding295
8.2.3Huffman Decoding301
8.3Interpixel Redundancy309
8.4Psychovisual Redundancy315
8.5JPEG Compression317
8.5.2JPEG 2000325
9Morphological Image Processing334
9.1.1Some Basic Concepts from Set Theory335
9.1.2Binary Images, Sets, and Logical Operators337
9.2Dilation and Erosion337
9.2.2Structuring Element Decomposition341
9.2.3The strel Function341
9.3Combining Dilation and Erosion347
9.3.1Opening and Closing347
9.3.2The Hit-or-Miss Transformation350
9.3.3Using Lookup Tables353
9.3.4Function bwmorph356
9.4Labeling Connected Components359
9.5Morphological Reconstruction362
9.5.1Opening by Reconstruction363
9.5.2Filling Holes365
9.5.3Clearing Border Objects366
9.6Gray-Scale Morphology366
9.6.1Dilation and Erosion366
9.6.2Opening and Closing369
10Image Segmentation378
10.1Point, Line, and Edge Detection379
10.1.1Point Detection379
10.1.2Line Detection381
10.1.3Edge Detection Using Function edge384
10.2Line Detection Using the Hough Transform393
10.2.1Hough Transform Peak Detection399
10.2.2Hough Transform Line Detection and Linking401
10.3.1Global Thresholding405
10.3.2Local Thresholding407
10.4Region-Based Segmentation407
10.4.1Basic Formulation407
10.4.2Region Growing408
10.4.3Region Splitting and Merging412
10.5Segmentation Using the Watershed Transform417
10.5.1Watershed Segmentation Using the Distance Transform418
10.5.2Watershed Segmentation Using Gradients420
10.5.3Marker-Controlled Watershed Segmentation422
11Representation and Description426
11.1.1Cell Arrays and Structures427
11.1.2Some Additional MATLAB and IPT Functions Used in This Chapter432
11.1.3Some Basic Utility M-Functions433
11.2.1Chain Codes436
11.2.2Polygonal Approximations Using Minimum-Perimeter Polygons439
11.2.4Boundary Segments452
11.3Boundary Descriptors455
11.3.1Some Simple Descriptors455
11.3.2Shape Numbers456
11.3.3Fourier Descriptors458
11.3.4Statistical Moments462
11.4Regional Descriptors463
11.4.1Function regionprops463
11.4.3Moment Invariants470
11.5Using Principal Components for Description474
12Object Recognition484
12.2Computing Distance Measures in MATLAB485
12.3Recognition Based on Decision-Theoretic Methods488
12.3.1Forming Pattern Vectors488
12.3.2Pattern Matching Using Minimum-Distance Classifiers489
12.3.3Matching by Correlation490
12.3.4Optimum Statistical Classifiers492
12.3.5Adaptive Learning Systems498
12.4Structural Recognition498
12.4.1Working with Strings in MATLAB499
12.4.2String Matching508
Appendix AFunction Summary514
Appendix BICE and MATLAB Graphical User Interfaces527
Appendix CM-Functions552

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >