Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN PowerPoint Presentation
Download Presentation
CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

240 Vues Download Presentation
Télécharger la présentation

CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN Dr. Rolf Lakaemper

  2. Most of these slides base on the book Digital Image Processing by Gonzales/Woods Chapter 3

  3. Introduction • Image Enhancement ? • enhance otherwise hidden information • Filter important image features • Discard unimportant image features • Spatial Domain ? • Refers to the image plane (the ‘natural’ image) • Direct image manipulation

  4. Remember ? A 2D grayvalue - image is a 2D -> 1D function, v = f(x,y)

  5. Remember ? As we have a function, we can apply operators to this function, e.g. T(f(x,y)) = f(x,y) / 2 Operator Image (= function !)

  6. Remember ? T transforms the given image f(x,y) into another image g(x,y) f(x,y) g(x,y)

  7. Spatial Domain • The operator T can be defined over • The set of pixels (x,y) of the image • The set of ‘neighborhoods’ N(x,y) of each pixel • A set of images f1,f2,f3,…

  8. Spatial Domain Operation on the set of image-pixels 6 8 2 0 3 4 1 0 12 200 20 10 6 100 10 5 (Operator: Div. by 2)

  9. 6 8 12 200 Spatial Domain Operation on the set of ‘neighborhoods’ N(x,y) of each pixel (Operator: sum) 6 8 2 0 226 12 200 20 10

  10. Spatial Domain Operation on a set of images f1,f2,… 6 8 2 0 12 200 20 10 11 13 3 0 (Operator: sum) 14 220 23 14 5 5 1 0 2 20 3 4

  11. Spatial Domain • Operation on the set of image-pixels • Remark: these operations can also be seen as operations on the neighborhood of a pixel (x,y), by defining the neighborhood as the pixel itself. • The easiest case of operators • g(x,y) = T(f(x,y)) depends only on the value of f at (x,y) • T is called a • gray-level or intensity transformation function

  12. Transformations • Basic Gray Level Transformations • Image Negatives • Log Transformations • Power Law Transformations • Piecewise-Linear Transformation Functions • For the following slides L denotes the max. possible gray value of the image, i.e. f(x,y)  [0,L]

  13. Transformations Image Negatives: T(f)= L-f T(f)=L-f Output gray level Input gray level

  14. Transformations Log Transformations: T(f) = c * log (1+ f)

  15. Transformations Log Transformations InvLog Log

  16. Transformations Log Transformations

  17. Transformations Power Law Transformations T(f) = c*f 

  18. Transformations • varying gamma () obtains family of possible transformation curves •  > 0 • Compresses dark values • Expands bright values •  < 0 • Expands dark values • Compresses bright values

  19. Transformations • Used for gamma-correction

  20. Transformations • Used for general purpose contrast manipulation

  21. Transformations Piecewise Linear Transformations

  22. Piecewise Linear Transformations Thresholding Function g(x,y) = L if f(x,y) > t, 0 else t = ‘threshold level’ Output gray level Input gray level

  23. Piecewise Linear Transformations • Gray Level Slicing • Purpose: Highlight a specific range of grayvalues • Two approaches: • Display high value for range of interest, low value else (‘discard background’) • Display high value for range of interest, original value else (‘preserve background’)

  24. Piecewise Linear Transformations Gray Level Slicing

  25. Piecewise Linear Transformations Bitplane Slicing Extracts the information of a single bitplane

  26. Piecewise Linear Transformations BP 0 BP 5 BP 7

  27. Piecewise Linear Transformations • Exercise: • How does the transformation function look like for bitplanes 0,1,… ? • What is the easiest way to filter a single bitplane (e.g. in MATLAB) ?

  28. Histograms Histogram Processing 1 4 5 0 3 1 5 1 Number of Pixels gray level

  29. Histograms • Histogram Equalization: • Preprocessing technique to enhance contrast in ‘natural’ images • Target: find gray level transformation function T to transform image f such that the histogram of T(f) is ‘equalized’

  30. Histogram Equalization Equalized Histogram: The image consists of an equal number of pixels for every gray-value, the histogram is constant !

  31. Histogram Equalization Example: T We are looking for this transformation !

  32. Histogram Equalization Target: Find a transformation T to transform the grayvalues g1[0..1] of an image I to grayvalues g2 = T(g1) such that the histogram is equalized, i.e. there’s an equal amount of pixels for each grayvalue. Observation (continous model !): Assumption: Total image area = 1 (normalized). Then: The area(!) of pixels of the transformed image in the gray-value range 0..g2 equals the gray-value g2.

  33. Histogram Equalization • The area(!) of pixels of the transformed image in the gray-value range 0..g2 equals the gray-value g2. • Every g1 is transformed to a grayvalue that equals the area (discrete: number of pixels) in the image covered by pixels having gray-values from 0 to g1. • The transformation T function t is the area- integral: T: g2 = 0..g1I da

  34. Histogram Equalization Discrete: g1 is mapped to the (normalized) number of pixels having grayvalues 0..g1 .

  35. Histogram Equalization Mathematically the transformation is deducted by theorems in continous (not discrete) spaces. The results achieved do NOT hold for discrete spaces ! (Why ?) However, it’s visually close.

  36. Histogram Equalization • Conclusion: • The transformation function that yields an image having an equalized histogram is the integral of the histogram of the source-image • The discrete integral is given by the cumulative sum, MATLAB function: cumsum() • The function transforms an image into an image, NOT a histogram into a histogram ! The histogram is just a control tool ! • In general the transformation does not create an image with an equalized histogram in the discrete case !

  37. Operations on a set of images Operation on a set of images f1,f2,… 6 8 2 0 12 200 20 10 11 13 3 0 (Operator: sum) 14 220 23 14 5 5 1 0 2 20 3 4

  38. Operations on a set of images Logic (Bitwise) Operations AND OR NOT

  39. Operations on a set of images The operators AND,OR,NOT are functionally complete: Any logic operator can be implemented using only these 3 operators

  40. Operations on a set of images Any logic operator can be implemented using only these 3 operators: Op= NOT(A) AND NOT(B) OR NOT(A) AND B

  41. Operations on a set of images Image 1 AND Image 2 1 2 3 9 7 3 6 4 1 0 1 1 (Operator: AND) 2 2 2 0 1 1 1 1 2 2 2 2

  42. Operations on a set of images Image 1 AND Image 2: Used for Bitplane-Slicing and Masking

  43. Operations on a set of images Exercise: Define the mask-image, that transforms image1 into image2 using the OR operand 1 2 3 9 7 3 6 4 255 2 7 255 (Operator: OR) 255 3 7 255

  44. Operations Arithmetic Operations on a set of images 1 2 3 9 7 3 6 4 2 3 4 10 (Operator: +) 9 5 8 6 1 1 1 1 2 2 2 2

  45. Operations Exercise: What could the operators + and – be used for ?

  46. Operations (MATLAB) Example: Operator – Foreground-Extraction

  47. Operations (MATLAB) Example: Operator + Image Averaging

  48. CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN Part 2

  49. Histograms • So far (part 1) : • Histogram definition • Histogram equalization • Now: • Histogram statistics