Digital Image Processing S. K. Ghosh Alpha Science International Ltd. Oxford, U.K.
Preface Acknowledgement List offigures List of Tables vii ix xix xxiii 1. Concept of Images 1.1 1.1 Introduction 1.1 1.2 Electromagnetic Energy 1.1 1.3 Electromagnetic Spectrum and its Characteristics 1.2 1.4 Utility of EM Radiation in Image Acquisition 1.4 1.5 Image Processing 1.5 1.6 Basic Image Processing Technique 1.5 1.6.1 Image representation and modeling 1.6 1.6.2 Image enhancement 1.7 1.6.3 Image restoration 1.7 1.6.4 Image analysis 1.7 1.6.5 Image reconstruction 1.7 1.6.6 Image data compression 1.7 2. The Process of Imaging 2.1 2.1 Introduction 2.1 2.2 Passive Sensors 2.1 2.2.1 Gamma-ray spectrometer 2.1 2.2.2 Aerial camera 2.2 2.2.3 Video camera 2.2 2.2.4 Multi-spectral scanner 2.3 2.2.5 Imaging spectrometer 2.3 2.2.6 Thermal scanner 2.3 2.2.7 Radiometer 2.3 2.3 Active Sensors 2.3 2.3.1 Laser scanner 2.4 2.3.2 Radar altimeter 2.4 2.3.3 Imaging radar 2.4 2.4 Platforms 2.4 2.5 Characteristics of Image 2.5
" xii 2.5.1 Sampling 2.5 2.5.2 Spatial resolution 2.6 2.5.3 Sampling pattern 2.7 2.6.3 Quantization 2.8 2.6 Colour Fundamentals 2.9 2.7 Colour Models 2.11 2.7.1 The RGB model 2.12 2.7.2 CMY model 2.14 2.7.3 HSI model 2.14 2.7.4 Conversion of colour from RGB to HSI 2.15 2.7.5 Converting colours from HSI to RGB 2.15 Image File Format 3.1 3.1 Storage Media 3.1 3.2 File Formats 3.1 3.3 Common Interchangeable Formats 3.2 3.4 Bitmap (BMP) 3.3 3.5 Tagged Image File Format (TIFF) 3.4 3.5.1 The TIFF file structure 3.4 3.5.2 TIFF data compression 3.9 3.5.3 TIFF classes 3.9 3.6 Graphic Interchange Format (GIF) 3.11 3.7 Joint Photographic Expert Graphic (JPEG) 3.11 3.8 Portable Network Graphics (PNG) 3.12 3.8.1 File structure of PNG 3.15 3.8.1.1 PNG file signature 3.15 3.8.1.2 Chunk layout 3.15 3.8.1.3 Chunks specifications 3.16 3.8.2 Primary Chunks 3.16 3.8.2.1 IHDR chunk 3.16 3.8.2.2 PLTE chunk 3.17 3.8.2.3 IDAT chunk 3.18 3.8.2.4 IEND chunk 3.18 3.8.3 Ancillary chunks 3.18 3.8.3.1 bkgd chunk 3.18 3.8.3.2 chrm chunk 3.19 3.8.3.3 gama chunk 3.19 3.8.3.4 hist chunk 3.19 3.8.3.5 phys chunk 3.19 3.8.3.6 sbit chunk 3.20 3.8.3.7 text chunk 3.20 3.8.3.8 time chunk 3.21 3.8.3.9 trns chunk 3.21 3.8.3.10 ztxt chunk 3.21 3.8.4 Summary of standard chunks 3.22 3.9 Shape File 3.22 3.9.1 The main file header 3.24
xiii 3.9.1.1 Record headers 3.25 3.9.2 Index file 3.25 3.9.3 dbase file 3.26 3.9.4 Description of main file record contents 3.26 3.9.4.1 Null shapes 3.26 3.9.4.2 Point 3.27 3.9.4.3 Multi point 3.27 3.9.4.4 PolyLine 3.27 3.9.4.5 Polygon 3.27 3.9.4.6 PointM 3.28 3.9.4.7 MultiPointM 3.28 3.9.4.8 PolyLineM 3.28 3.9.4.9 PolygonM 3.28 3.9.4.10 PointZ 3.28 3.9.4.11 MultiPointZ 3.28 3.9.4.12 PolyLineZ 3.29 3.9.4.12 PolyLineZ 3.29 3.9.4.14 MultiPatch 3.29 3.10 Satellite Tape Formats 3.30 Image Processing Software 4.1 4.1 Introduction 4.1 4.2 ERDAS Imagine 4.2 4.2.1 Imagine essential 4.3 4.2.1.1 Data types and integration 4.3 4.2.1.2 Data visualization 4.3 4.2.1.3 Geometric correction 4.4 4.2.1.4 Simple classification 4.4 4.2.1.5 Map composer 4.4 4.2.1.6 General tools and utilities 4.4 4.2.2 IMAGINE Advantage 4.4 4.2.2.1 Ortho correction 4.5 4.2.2.2 Metric accuracy assessment (MAA) tools 4.5 4.2.2.3 Mosaicking 4.5 4.2.2.4 Image processing 4.5 4.2.2.5 Modeling language 4.5 4.2.2.6 Knowledge classifier 4.6 4.2.3 IMAGINE Professional 4.6 4.2.3.1 Spectral analysis 4.6 4.2.3.2 Expert classifier 4.6 4.2.3.3 Multispectral classifier 4.7 4.2.3.4 Radar interpreter 4.7 4.2.4 System specifications of ERDAS IMAGINE 9.0 4.8 4.3 ENVI 4.9 4.3.1 Generally review ofenvi functionality 4.9 4.3.2 Advantages of ENVI 4.11 4.4 IDRISI 4.12
xiv 4.4.1 IDRISI system overview 4.13 4.4.2 Image processing menu 4.14 4.4.2.1 Restoration submenu 4.14 4.4.2.2 Enhancement submenu 4.15 4.4.3.2 Transformation submenu 4.15 4.4.3.4 Fourier analysis submenu 4.16 4.4.3.5 Signature development submenu 4.16 4.4.3.6 Hard classifiers submenu 4.17 4.4.3.7 Soft classifiers / mixture analysis submenu 4.19 4.4.3.8 Hyperspectral image analysis submenu 4.20 4.4.3.9 Accuracy assessment submenu 4.21 4.5 ER Mapper 4.21 4.5.1 Algorithms 4.21 4.5.1.1 View and enhance raster data 4.22 4.5.1.2 Filters 4.22 4.5.1.3 Contrast stretches (Transforms) 4.22 4.5.1.4 Formulae and statistics 4.22 4.5.1.5 View and edit vector data 4.22 4.5.1.6 Integrate data 4.23 4.5.1.7 Raster translators 4.23 4.5.1.8 Automatic data fusion and mosaicing 4.23 4.5.1.9 Hardcopy including stereo pair generation 4.23 4.5.1.10 Map composition 4.23 4.5.1.11 Classify raster images 4.24 4.5.1.12 Visualize in 3-D 4.24 4.5.1.13 Traverse 4.24 4.5.1.14 Application based toolbars and batch scripts 4.24 4.5.1.15 Raster to vector polygon conversion 4.24 4.5.1.16 Geocoding 4.24 4.5.1.17 Gridding 4.24 4.5.1.18 Fourier transformation 4.24 4.5.1.19 Customizable functions 4.25 4.5.2 Virtual datasets 4.25 4.5.3 Compression wizard 4.25 4.6 Concluding Remarks 4.25 Initial Statistics 5.1 5.1 Introduction 5.1 5.2 Univariate Statistics 5.1 5.2.1 Histogram 5.2 5.2.2 Cumulative histogram 5.3 5.2.3 Minimum and maximum value 5.4 5.2.4 Mean and standard deviation 5.4 5.2.5 Median 5.5 5.2.6 Mode 5.5 5.2.7 Skewness 5.6 5.2.8 Kurtosis 5.6
variate xv 5.3 Multivariate Image Statistics 5.7 5.3.1 Scatterplot 5.8 5.3.2 Covariance matrix 5.8 5.3.3 Correlation 5.9 5.4 Illustrative Example 5.10 5.4.1 Discussion on univariate statistics 5.10 5.4.2 Multi - statistics 5.11 5.4.3 Concluding remarks 5.14 Pre--Processing of Data 6.1 6.1 Introduction 6.1 6.2 Radiometric Corrections 6.2 6.2.1 Missing scan lines 6.2 6.2.2 De-striping methods 6.3 6.3 Atmospheric Correction Methods 6.4 6.4 Geometric Correction and Registration 6.6 6.4.1 Orbital geometry model 6.8 6.4.1.1 Aspect ratio 6.8 6.4.1.2 Skew correction 6.8 6.4.1.3 Earth rotation correction 6.9 6.4.2 Transformation based on ground control points 6.11 6.5 Resampling 6.12 Enhancement Techniques 7.1 7.1 Introduction 7.1 7.2 Contrast Stretch or Enhancement 7.1 7.3 Linear Enhancement 7.2 7.3.1 Min-Max stretch 7.2 7.3.2 Percentile stretching 7.4 7.3.3 Piece wise linear stretch 7.4 7.4 Non Linear Enhancement 7.5 7.4.1 Histogram equalization 7.5 7.4.2 Gaussian equalization 7.6 7.4.3 Logarithmic contrast enhancement 7.7 7.4.4 Exponential contrast enhancement 7.7 7.5 Comparison of Enhancement Method 7.7 7.6 Illustrative Example 7.8 Image Transformations 8.1 8.1 Basic Arithmetic Operators 8.1 8.1.1 Image addition 8.1 8.1.2 Image subtraction 8.2 8.1.3 Image multiplication 8.3 8.1.4 Image division 8.3 8.2 Vegetation Indices 8.4 8.3 Classification of Vegetation Indices 8.5
xvi 8.4 The Slope-based Vegetation Index 8.6 8.4.1 Ratio vegetation index (RATIO) 8.6 8.4.2 The normalized difference vegetation index (NDVI) 8.7 8.4.3 The transformed vegetation index (TVI) 8.7 8.4.4 The corrected transformed vegetation index (CTVI) 8.8 8.4.5 Thiams transformed vegetation index (TTVI) 8.8 8.4.6 Ratio vegetation index (RVI) 8.8 8.4.7 The normalized ratio vegetation index (NRVI) 8.8 8.4.8 Other indices 8.9 8.5 The Distance-based Vegetation Index 8.9 8.5.1 The perpendicular vegetation index (PVI) 8.10 8.5.2 Difference vegetation index (DVI) 8.12 8.5.3 The Ashburn vegetation index (AVI) 8.12 8.5.4 The weighted difference vegetation index (WDVI) 8.13 8.5.5 The soil-adjusted vegetation index (SAVI) 8.13 8.5.6 The modified soil-adjusted vegetation indices (MSAVIi and MSAVI2) 8.14 8.5.7 Atmospherically resistant vegetation index (ARVI) 8.17 8.5.8 Soil and atmospherically resistant vegetation index (SARVI) 8.18 8.5.9 Enhanced vegetation Index 8.19 8.6 Special Indices 8.19 8.6.1 Normalized difference water index 8.19 8.6.2 Normalized difference snow index 8.24 8.6.3 Normalized burn ratio 8.28 8.7 The Orthogonal Transformations 8.30 8.7.1 Principal component analysis 8.30 8.7.2 Tasseled-cap components 8.34 8.7.5 The concept of w-space indices 8.36 8.7.5.1 Calculation of w-space coefficients 8.37 8.8 Illustrative Example 8.40 Image 8.8.1 Ratio and NDVI images 8.40 8.8.2 Vegetation indices 8.41 8.8.2.1 Transformed vegetation index 8.41 8.8.2.2 Corrected transformed vegetation index 8.42 8.8.2.3 Thiams transformed vegetation index 8.42 8.8.2.4 Ratio vegetation index (RVI) 8.43 8.8.2.5 Normalized ratio vegetation index 8.43 8.8.2.6 Infrared index (II) 8.44 8.8.2.7 Moisture stress Index 8.44 8.8.2.8 Perpendicular vegetation Index 1 8.45 8.8.3 Principal component analysis images 8.45 8.8.4 Tassel cap transformation images 8.48 Classification 9.1 9.1 Introduction 9.1 9.2 Supervised Classification 9.2
xvii 9.2.1 Classification scheme 9.3 9.2.2 Training site selection and statistics extraction 9.5 9.2.2.1 Guidelines for training data 9.5 9.2.2.2 Idealized sequence for selecting training data 9.7 9.2.3 Training data statistics 9.8 9.2.4 Feature selection 9.8 9.2.5 Selection of appropriate classification algorithm 9.12 9.2.5.1 The parallelopiped classifier 9.12 9.2.5.2 The minimum-distance to means classifier 9.14 9.2.5.3 The maximum likelihood classifier 9.14 9.3 Unsupervised Classification 9.15 9.3.1 Distance based clustering methods 9.18 9.3.2 Model-based clustering methods 9.18 9.3.3 Density-based clustering method 9.19 9.3.4 Condensation-based method for clustering 9.20 9.3.5 Subspace clustering methods 9.21 9.3.6 Feature selection for clustering 9.22 9.3.7 Clustering pattern classification by distance functions 9.23 9.3.7.1 Minimum distance pattern classification 9.23 9.3.7.2 Maximin distance algorithm 9.26 9.3.7.4 tf-means algorithm 9.28 9.3.7.5 ISODATA algorithm 9.29 9.4 Classification Accuracy Assessment 9.32 9.4.1 Error matrix 9.33 9.5 Illustration Example 9.38 9.5.1 Selection of training dataset 9.38 9.5.2 Feature selection 9.38 9.5.3 Image classification 9.43 9.5.4 Assessment of accuracy 9.44 10. Spatial Filtering 10.1 10.1 Introduction 10.1 10.2 Process of Filtering 10.2 10.3 Noise Removal Filtering 10.4 10.3.1 Mean filter 10.6 10.3.2 Weighted mean filter 10.6 10.3.3 Median filter 10.7 10.3.4 Mode filter 10.7 10.3.5 Olympic filter 10.7 10.3.6 Multi level median (MLM) filter 10.7 10.3.7 P-median (PM) filter 10.7 10.3.8 Adaptive mean P-median (AMPM) filter 10.8 10.4 Edge Detection 10.8 10.4.1 Classification ofedge Detection Techniques 10.10 10.4.2 Non-directional Filters 10.10 10.4.2.1 Laplacian filter 10.10 10.4.2.2 High boost filter 10.12
xviii 10.4.3 Simple Directional Filtering 10.13 10.4.4 Gradient filtering 10.14 10.4.4.1 Roberts operator 10.15 10.4.4.2 Prewitt operator 10.15 10.4.4.3 Sobel operator 10.16 10.4.4.4 Kirsch operator 10.18 10.4.5 Zero Crossing Filtering 10.18 10.4.5.1 LoG filter 10.19 10.4.5.2 DDoG filter 10.21 References R.1 Index 1.1 About the Author A.l