# CIS 601 Image ENHANCEMENT in the SPATIAL DOMAIN - PowerPoint PPT Presentation Download Presentation CIS 601 Image ENHANCEMENT in the SPATIAL DOMAIN

CIS 601 Image ENHANCEMENT in the SPATIAL DOMAIN Download Presentation ## CIS 601 Image ENHANCEMENT in the SPATIAL DOMAIN

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

1. CIS 601 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 simplest 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 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 601 Image ENHANCEMENT in the SPATIAL DOMAIN Part 2

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

50. Histograms Remember: The histogram shows the number of pixels having a certain gray-value number of pixels grayvalue (0..1)