1 / 36

Chapter 4

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

blaine
Download Presentation

Chapter 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. Introduction (cont.) • Content • Contrast manipulation • Spatial feature manipulation • Multi-spectral manipulation • Direct De-correlation Stretch (DDS)

  4. 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

  5. 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

  6. 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

  7. 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'

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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)

  27. Exercise 7 • Calculating various vegetation components using ENVI • File • C:\RSI\IDL61\products\ENVI41\data\can_tmr.img • Transform  NDVI • Transform  Tasseled Cap transform

  28. 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

  29. 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?

  30. 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

  31. Multi-Spectral manipulation (cont.) • BCET (cont.)

  32. Multi-Spectral manipulation (cont.) • BCET (cont.)

  33. 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

  34. 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)

  35. Source: Lecture note of “Advanced course on: image processing and remote sensing”, Dr. Jian Guo Liu

  36. Original BCET BCET+ICDDS

More Related