380 likes | 564 Views
Chapter 4. Image Enhancement Analysis and applications of remote sensing imagery Instructor: Dr. Cheng-Chien Liu Department of Earth Sciences National Cheng Kung University Last updated: 9 May 2005. Introduction. Why image enhancement? Mind excellent interpreter
E N D
Chapter 4 Image Enhancement Analysis and applications of remote sensing imagery Instructor: Dr. Cheng-Chien Liu Department of Earth Sciences National Cheng Kung University Last updated: 9 May 2005
Introduction • Why image enhancement? • Mind excellent interpreter • Eye poor discriminator • Computer amplify the slight differences to make them readily observable • Categorization of image enhancement • Point operation • Local operation • Order • Restoration noise removal enhancement
Introduction (cont.) • Content • Contrast manipulation • Spatial feature manipulation • Multi-spectral manipulation • Direct De-correlation Stretch (DDS)
Contrast manipulation • Gray-level thresholding • Segment • Fig 7.11 • (a) TM1 • (b) TM4 • (c) TM4 histogram • (d) TM1 brightness variation in water areas only • Level-slicing • Divided into a series of analyst-specified slices • Fig 7.12
Exercise 1 • Thresholding and level-slicing in ENVI • File: C:\RSI\IDL60\examples\data\mineral.png • Examine the histogram of the image • Basic Tools Segmentation image • Overlay Density Slice • Apply • Edit range • Options Set Number of Default Ranges • Options Apply Default Ranges
Contrast manipulation (cont.) • Contrast stretching • Accentuate the contrast between features of interest • Fig 7.13 • (a) Original histogram • (b) No stretch • (c) Linear stretch • Fig 7.14: linear stretch algorithm, look-up table (LUT) procedure • (d) Histogram-equalized stretch • (e) Special stretch • Fig 7.15: Effect of contrast stretching • (a) Features of similar brightness are virtually indistinguishable • (b) Stretch that enhances contrast in bright image areas • (c) Stretch that enhances contrast in dark image areas • Non-linear stretching: sinusoidal, exponential, … • Monochromatic color composite
Exercise 2 • Equalizing with Histograms • Source code refer to “Image processing in IDL” page 421 • PRO Chap4Ex2 • ; Import the image from the file. • file = FILEPATH('mineral.png', $ • SUBDIRECTORY = ['examples', 'data']) • image = READ_PNG(file, red, green, blue) • imageSize = SIZE(image, /DIMENSIONS) • ; Initialize the display. • DEVICE, DECOMPOSED = 0 • TVLCT, red, green, blue • ; Create a window and display the original image. • WINDOW, 0, XSIZE = imageSize[0], YSIZE = imageSize[1], $ • TITLE = 'Original Image' • TV, image • ; Create another window and display the histogram of the original image. • WINDOW, 1, TITLE = 'Histogram of Image' • PLOT, HISTOGRAM(image), /XSTYLE, /YSTYLE, $ • TITLE = 'Mineral Image Histogram', $ • XTITLE = 'Intensity Value', $ • YTITLE = 'Number of Pixels of That Value'
Exercise 2 (cont.) • Equalizing with Histograms (cont.) • ; Histogram-equalize the image. • equalizedImage = HIST_EQUAL(image) • ; Create another window and display the equalized image. • WINDOW, 2, XSIZE = imageSize[0], YSIZE = imageSize[1], $ • TITLE = 'Equalized Image' • TV, equalizedImage • ; Create another window and display the histogram of the equalizied image. • WINDOW, 3, TITLE = 'Histogram of Equalized Image' • PLOT, HISTOGRAM(equalizedImage), /XSTYLE, /YSTYLE, $ • TITLE = 'Equalized Image Histogram', $ • XTITLE = 'Intensity Value', $ • YTITLE = 'Number of Pixels of That Value' • END
Self test 1 • File: • Chap4SelfTest1Bad.JPG • Chap4SelfTest1Good.JPG • Display the pair of images using linear 0 – 255 • Make the display of Chap4SelfTest1Bad.JPG look similar to the display of Chap4SelfTest1Good.JPG • Approach 1: Piecewise linear stretch • Approach 2: Arbitrary stretch
Exercise 3 • Adaptive Equalizing with Histograms • Source code refer to “Image processing in IDL” page 421 • PRO Chap4Ex3 • ; Import the image from the file. • file = FILEPATH('mineral.png', $ • SUBDIRECTORY = ['examples', 'data']) • image = READ_PNG(file, red, green, blue) • imageSize = SIZE(image, /DIMENSIONS) • ; Initialize the display. • DEVICE, DECOMPOSED = 0 • TVLCT, red, green, blue • ; Create a window and display the original image. • WINDOW, 0, XSIZE = imageSize[0], YSIZE = imageSize[1], $ • TITLE = 'Original Image' • TV, image
Exercise 3 (cont.) • Adaptive Equalizing with Histograms (cont.) • ; Create another window and display the histogram of the original image. • WINDOW, 1, TITLE = 'Histogram of Image' • PLOT, HISTOGRAM(image), /XSTYLE, /YSTYLE, $ • TITLE = 'Mineral Image Histogram', $ • XTITLE = 'Intensity Value', $ • YTITLE = 'Number of Pixels of That Value' • ; Histogram-equalize the image. • equalizedImage = ADAPT_HIST_EQUAL(image) • ; Create another window and display the equalized image. • WINDOW, 2, XSIZE = imageSize[0], YSIZE = imageSize[1], $ • TITLE = 'Adaptive Equalized Image' • TV, equalizedImage • ; Create another window and display the histogram of the equalizied image. • WINDOW, 3, TITLE = 'Histogram of Adaptive Equalized Image' • PLOT, HISTOGRAM(equalizedImage), /XSTYLE, /YSTYLE, $ • TITLE = 'Adaptive Equalized Image Histogram', $ • XTITLE = 'Intensity Value', $ • YTITLE = 'Number of Pixels of That Value' • END
Spatial feature manipulation • Spatial filtering • Spectral filter Spatial filter • Spatial frequency • Roughness of the tonal variations occurring in an image • High rough • e.g. across roads or field borders • Low smooth • e.g. large agricultural fields or water bodies • Spatial filter local operation • Low pass filter (Fig 7.16b) • Passing a moving window throughout the original image • High pass filter (Fig 7.16c) • Subtract a low pass filtered image from the original, unprocessed image
Spatial feature manipulation (cont.) • Convolution • The generic image processing operation • Spatial filter convolution • Procedure • Establish a moving window (operators/kernels) • Moving the window throughout the original image • Example • Fig 7.17 • (a) Kernel • Size: odd number of pixels (3x3, 5x5, 7x7, …) • Can have different weighting scheme (Gaussian distribution, …) • (b) original image DN • (c) convolved image DN • Pixels around border cannot be convolved
Spatial feature manipulation (cont.) • Edge enhancement • Typical procedures • Roughness kernel size • Rough small • Smooth large • Add back a fraction of gray level to the high frequency component image • High frequency exaggerate local contrast but lose low frequency brightness information • Contrast stretching • Directional first differencing • Determine the first derivative of gray levels with respect to a given direction • Normally add the display value median back to keep all positive values • Contrast stretching • Example • Fig 7.20a: original image • Fig 7.20b: horizontal first difference image • Fig 7.20c: vertical first difference image • Fig 7.20d: diagonal first difference image • Fig 7.21: cross-diagonal first difference image highlight all edges
Exercise 4 • Edge enhancement • PRO Chap4Ex4 • ; Import the image from the file. • file = FILEPATH('ctscan.dat', $ • SUBDIRECTORY = ['examples', 'data']) • openr, lun, file, /get_lun • image = bytarr(256,256) • readu,lun,image • free_lun, lun • imageSize = SIZE(image, /DIMENSIONS) • ; Initialize the display. • DEVICE, DECOMPOSED = 0 • loadct, 0 • ; Create a window and display the original image. • WINDOW, 0, XSIZE = imageSize[0], YSIZE = imageSize[1], $ • TITLE = 'Original Image' • TVscl, image • ; Applying the Sobel filter to enhance the edge. • SobelImage = Sobel(image) • ; Create another window and display the equalized image. • WINDOW, 2, XSIZE = imageSize[0], YSIZE = imageSize[1], $ • TITLE = 'Applying the Sobel filter to enhance the edge' • TVscl, SobelImage • END
Spatial feature manipulation (cont.) • Fourier analysis • Spatial domain frequency domain • Fourier transform • Quantitative description • Conceptual description • Fit a continuous function through the discrete DN values if they were plotted along each row and column in an image • The “peaks and valleys” along any given row or column can be described mathematically by a combination of sine and cosine waves with various amplitudes, frequencies, and phases • Fourier spectrum • Fig 7.22 • Low frequency center • High frequency outward • Vertical aligned features horizontal components • Horizontal aligned features vertical components
Spatial feature manipulation (cont.) • Fourier analysis (cont.) • Inverse Fourier transform • Spatial filtering (Fig 7.23) • Noise elimination (Fig 7.24) • Noise pattern vertical band of frequencies wedge block filter • Summary • Most image processing spatial domain • Frequency domain (e.g. Fourier transform) complicate and computational expensive
Multi-Spectral manipulation • Spectral ratioing • DNi / DNj • Advantage • Convey the spectral or color characteristics of image features, regardless of variations in scene illumination conditions • Fig 7.25 • deciduous trees coniferous trees • Sunlit side shadowed side • Example: NIR/Red stressed and nonstressed vegetation quantify relative vegetation greenness and biomass • Number of ratio combination: Cn2 • Landsat MSS: 12 • Landsat TM or ETM+: 30
Exercise 5 • Spectral ratioing • File: cup95eff.int • Band math: float (b2) / float (b1) • b2: 2.4 mm • b1: 2.3 mm • Interactive histogram stretch • Find the area where b2/b1 > 1
Self test 2 • Open the USGS mineral spectral library • C:\RSI\IDL61\products\ENVI41\spec_lib\usgs_min\usgs_min.sli • Plot the spectra of the following minerals (2.0 – 2.5 mm) • Alunite1 • Budding1 • Calcite1 • Kaolini1 • Muscovi1 • Select two bands that are ideal for discriminate the region of Alunite • Open the hyperspectral data file • C:\RSI\IDL61\products\ENVI41\data\cup95eff.int • Use two band ratio to enhance the region of Alunite
Multi-Spectral manipulation (cont.) • Spectral ratioing (cont.) • Fig 7.26: ratioed images derived from Landsat TM data • (a) TM1/TM2: highly correlated low contrast • (b) TM3/TM4: • Red: road, water lighter tone • NIR: vegetation darker tone • (c) TM5/TM2: • Green and MIR: vegetation lighter tone • But some vegetation looks dark discriminate vegetation type • (d) TM3/TM7 • Red: road, water lighter tone • MIR: low but varies with water turbidity water turbidity • False color composites twofold advantage • Too many combination difficult to choose • Landsat MSS: C(4, 2)/2 = 6, C(6, 3) = 20 • Landsat TM: C(6, 2)/2 = 15, C(15, 3) = 455 • Optimum index factor (OIF) • Variance && correlation OIF • Best OIF for conveying the overall information in a scene may not be the best OIF for conveying the specific information need some trial and error
Multi-Spectral manipulation (cont.) • Spectral ratioing (cont.) • Intensity blind troublesome • Hybrid color ratio composite: one ratio + another band • Noise removal is an important prelude • Spectral ratioing enhances noise patterns • Avoid mathematically blow up the ratio • DN΄ = R arctan(DNx/DNy) • arctan ranges from 0 to 1.571. Typical value of R is chosen to be 162.3 DN΄ranges from 0 to 255
Multi-Spectral manipulation (cont.) • Principal and canonical components • Two techniques • Reduce redundancy in multispectral data • Extensive interband correlation problem (Fig 7.49) • Prior to visual interpretation or classification • Example: Fig 7.27 • DNI = a11DNA + a12DNB DNII = a21DNA + a22DNB • Eigenvectors (principal components) • The first principal component (PC1) the greatest variance • Example: Fig 7.28 Fig 7.29 (principal component) • (A) alluvial material in a dry stream valley • (B) flat-lying quanternary and tertiary basalts • (C) granite and granodiorite intrusion
Multi-Spectral manipulation (cont.) • Principal and canonical components (cont.) • Intrinsic dimensionality (ID) • Landsat MSS: PC1+PC2 explain 99.4% variance ID = 2 • PC4 depicts little more than system noise • PC2 and PC3 illustrate certain features that were obscured by the more dominant patterns shown in PC1 • Semicircular feature in the upper right portion • Principal Canonical • Little prior information concerning a scene is available Principal • Information about particular features of interest is known Canonical • Fig 7.27b • Three different analyst-defined feature types (D, □, +) • Axes I and II maximize the separability of these classes and minimize the variance within each class • Fig 7.30: Canonical component analysis
Exercise 6 • Principal components analysis • Calculating Forward PC Rotations • Transforms Principal Components Forward PC Rotation Compute New Statistics and Rotate • Select Covariance Matrix • Select Subset from Eigenvalues • Number of Output PC Bands: 3 • Examine the PC EigenValues plot • Inversing PC Rotations • Transforms Principal Components Forward PC Rotation PC Rotation from Existing Stats • Select Covariance Matrix • Select the statistics file saved from the forward PC rotation
Multi-Spectral manipulation (cont.) • Vegetation components • AVHRR • VI (vegetation index) • NDVI (normalized difference vegetation index) • Landsat MSS • Tasseled cap transformation (Fig 7.31) • Brightness soil reflectance • Greenness amount of green vegetation • Wetness canopy and soil moisture • TVI (transformed vegetation index) • Fig 7.32, Fig 5.8, Plate 14 • TVI green biomass • Precision crop management, precision farming, irrigation water, fertilizers, herbicides, ranch management, estimation of forage, … • GNDVI (green normalized difference vegetation index) • Same formulation as NDVI, except the green band is substituted for the red band • Leaf chlorophyll levels, leaf area index values, the photosynthetically active radiation absorbed by a crop canopy • MODIS • EVI (enhanced vegetation index)
Exercise 7 • Calculating various vegetation components using ENVI • File • C:\RSI\IDL61\products\ENVI41\data\can_tmr.img • Transform NDVI • Transform Tasseled Cap transform
Multi-Spectral manipulation (cont.) • Intensity-Hue-Saturation color space transform • Fig 7.33: RGB color cube • 28 28 28 =16,777,216 • Gray line • True color composite (B, G, R) false color composite (G, R, NIR) • Fig 7.34: Planar projection of the RGB color cube • Fig 7.35: Hexcone color model (RGB IHS) • Intensity • Hue • Saturation • Fig 7.36: advantage of HIS transform
Self test 3 • File: C:\RSI\IDL61\examples\data\rose.jpg • Employ the color transform RGB IHS • Take the square root of the original saturation • Use the new saturation to employ the color transform IHS RGB • Check the effect of saturation stretch • Do you have a better way to stretch the saturation?
Multi-Spectral manipulation (cont.) • Balance Contrast Enhancement Technique (BCET) • Jian-Guo Liu, 1991 • Eliminate the color bias of poor color composite images • Using a parabolic transform derived from input image • Stretch the image to a given value range and mean without changing the basic shape of the image histogram • BCET transform • y = A(x-B)2 + C • Define • l: minimum of the input image X • h: maximum of the input image X • e: mean of the input image X • L: minimum of the Output image Y • H: maximum of the Output image Y • E: mean of the Output image Y • Conditions • Given H and L • Given E
Multi-Spectral manipulation (cont.) • BCET (cont.)
Multi-Spectral manipulation (cont.) • BCET (cont.)
Multi-Spectral manipulation (cont.) • BCET (cont.) • BCET transform (cont.) • Solution • B = term1 / term2 • term1 = h2(E – L) – s(H – L) + l2(H – E) • term2 = 2[h(E – L) – e(H – L) + l(H – E)] • s = (SNi=1xi2)/N • A = (H – L) / [(h – 1)(h + l – 2B)] • C = L – A(l – B)2 • Implement BCET in ENVI
Multi-Spectral manipulation (cont.) • Direct Decorrelation Stretch (DDS) • Jian-Guo Liu, 1996 • Perform a direct saturation stretch without using HSI transform • Advantages • Involves only simple arithmetic operations fast • Can be controlled quantitatively effective • Note • The three bands for decorrelation stretch must be well stretched (e.g. linear stretch with 99% clip or BCET) before DDS is applied • DDS transform • rk = r – k min(r, g, b) • gk = g – k min(r, g, b) • bk = b – k min(r, g, b)
Source: Lecture note of “Advanced course on: image processing and remote sensing”, Dr. Jian Guo Liu
Original BCET BCET+ICDDS