Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Image transforms

4,579 views

Published on

This presentation gives a better view on various transforms related to Digital Image Processing.

Published in: Engineering

Image transforms

  1. 1. DIGITAL IMAGE PROCESSING Filtering in the Frequency Domain by Dr. K. M. Bhurchandi
  2. 2. The DFT of One - Variable • Obtaining the DFT from the Continuous Transform of a Sampled Function sampled, continuous, band-limited function FT periodic function extending from -∞ to ∞ extending from -∞ to ∞ • Equation of transform of sampled data in terms of sampled function is given by: • And we know
  3. 3. The DFT of One - Variable • Although fn is a discrete function, its Fourier is continuous and infinitely periodic with period 1/ ΔT. • Sampling one period is the basis for the DFT.
  4. 4. The DFT of One - Variable • To have M equally spaced samples of the transform taken over the period μ = 0 to 1/ ΔT, consider following frequencies, where, m = 0, 1, 2, ….., M-1 Substituting it in previous equation, we get DFT equation: Conversely, IDFT can be obtained by: where, n = 0, 1, 2, …, N-1
  5. 5. The DFT of One - Variable • In a more intuitive approach, notations used will be x & y - image coordinates variables u & v – frequency variables Thus, the above equations become: where, u = 0, 1, 2, …., M-1 where, x = 0, 1, 2, …, M-1 • Both the forward & inverse discrete transforms are infinitely periodic with period M.
  6. 6. Extension to Functions of Two Variables • The 2-D Impulse and Its Sifting Property: • The impulse of 2 continuous variables t & z is given by: • & • As in the 1D case, the 2D impulse exhibits the sifting property under integration, • More generally for an impulse located at coordniates (to, zo)
  7. 7. Extension to Functions of Two Variables • For discrete variables x & y, the 2D discrete impulse is defined as: • Its sifting property is: • For an impulse located at coordinates (xo, yo)
  8. 8. Extension to Functions of Two Variables • Two-dimensional unit discrete impulse.
  9. 9. The 2-D Continuous Fourier Transform Pair • f(t, z) – continuous function of two variables, t & z. • μ & γ – frequency variables define continuous frequency domain.
  10. 10. • A 2-D function & its spectrum
  11. 11. 2-D Sampling and the 2-D Sampling Theorem • 2-D impulse train is given by: where, ΔT & ΔZ are separations between samples along t & z axis.
  12. 12. 2-D Sampling and the 2-D Sampling Theorem • Function f(t, z) is said to be band-limited if its Fourier Transform is 0 outside a rectangle established by the intervals [-μmax, μmax] and [-γmax, γmax]. • 2-Dimesional sampling theorem states that a continuous, band limited function f(t, z) can be recovered with no error from a set of its samples if the sampling intervals are and
  13. 13. Aliasing in Images • 2-D Fourier Transform of oversampled & under-sampled band limited function
  14. 14. Aliasing in Images • Two manifestations of aliasing in images: – Spatial Aliasing & Temporal Aliasing • Spatial Aliasing: It is due to under-sampling • Temporal Aliasing: It is related to time intervals between images in a sequence of images. – E.g. wagon wheel effect (wheel appear to rotate backwards)
  15. 15. The 2-D DFT and Its Inverse • 2-D Discrete Fourier Transform Pairs: where, f(x, y) – digital image of size M x N. u – 0, 1, 2, ….., M-1 v – 0, 1, 2, ….., N-1 where, F(u, v) – transform of f(x, y). x – 0, 1, 2, ….., M-1 y – 0, 1, 2, …., N-1
  16. 16. Properties of 2-D DFT 1) Relationships between Spatial & Frequency Intervals • If a continuous function f(t, z) is sampled to form a digital image, f(x, y) consisting of M x N samples in t & z resp. • If ΔT & ΔZ denote the separations between samples, then, separations between the corresponding discrete, frequency domain variables are given by: Δ𝑢 = 1 𝑀 Δ𝑇 & Δ𝑣 = 1 𝑁 Δ𝑍
  17. 17. Problems on DFT 1) Let f(x, y) = 1 1 1 1 1 1 1 1 1 is image matrix. Then DFT(F) = ? Sol:- y 0 1 2 f(x, y) = x 0 1 2 1 1 1 1 1 1 1 1 1 => 𝑓 0, 𝑦 = ,1 1 1- 𝑓 1, 𝑦 = ,1 1 1- 𝑓 2, 𝑦 = ,1 1 1- Generally, F(v) = 𝑓(𝑦)𝑒−𝑗2𝜋𝑣𝑦/𝑁𝑁−1 𝑦=0 Thus, F1(0, v) = 𝑓(0, 𝑦)𝑒−𝑗2𝜋𝑣𝑦/𝑁𝑁−1 𝑦=0
  18. 18. F1(0, v) = 𝑓(0, 𝑦)𝑒−𝑗2𝜋𝑣𝑦/𝑁𝑁−1 𝑦=0 F1(0, v) = 𝑓(0, 0)𝑒−𝑗2𝜋𝑣0/3 + 𝑓(0, 1)𝑒−𝑗2𝜋𝑣1/3 + 𝑓(0, 2)𝑒−𝑗2𝜋𝑣2/3 For, v = 0: F1(0, 0) = 𝑓(0, 0)𝑒−𝑗2𝜋0∗0/3 + 𝑓(0, 1)𝑒−𝑗2𝜋0∗1/3 + 𝑓(0, 2)𝑒−𝑗2𝜋0∗2/3 = 1 x 1 + 1 x 1 + 1 x 1 = 3 For, v = 1: F1(0, 1) = 𝑓(0, 0)𝑒−𝑗2𝜋1∗0/3 + 𝑓(0, 1)𝑒−𝑗2𝜋1∗1/3 + 𝑓(0, 2)𝑒−𝑗2𝜋1∗2/3 = 1 x 1 + 1 x (-0.5000 - 0.8660i) + 1 x (-0.5000 + 0.8660i) = 0 For, v = 2: F1(0, 2) = 𝑓(0, 0)𝑒−𝑗2𝜋2∗0/3 + 𝑓(0, 1)𝑒−𝑗2𝜋2∗1/3 + 𝑓(0, 2)𝑒−𝑗2𝜋2∗2/3 = 1 x 1 + 1 x (-0.5000 + 0.8660i) + 1 x (-0.5000 - 0.8660i) = 0 So, F1(0, v) = [3 0 0]; Similarly, F1(1, v) = [3 0 0]; & F1(2, v) = [3 0 0]; Thus, F1 = 3 0 0 3 0 0 3 0 0 Now, applying transformation column-wise.
  19. 19. Generally, F(u) = 𝑓(𝑥)𝑒−𝑗2𝜋𝑢𝑥/𝑀𝑀−1 𝑥=0 Thus, F(u, 0) = 𝐹1(𝑥, 0)𝑒−𝑗2𝜋𝑢𝑥/𝑀𝑀−1 𝑥=0 F(u, 0) = F1 (0, 0)𝑒−𝑗2𝜋𝑢0/3 + F1(1, 0)𝑒−𝑗2𝜋𝑢1/3 +F1(2, 0)𝑒−𝑗2𝜋𝑢2/3 For, u = 0: F(0, 0) = F1(0, 0)𝑒−𝑗2𝜋0∗0/3 +F1(1, 0)𝑒−𝑗2𝜋0∗1/3 +F1(2, 0)𝑒−𝑗2𝜋0∗2/3 = 3 x 1 + 3 x 1 + 3 x 1 = 9 For, u = 1: F(1, 0) = F1(0, 0)𝑒−𝑗2𝜋1∗0/3 +F1(1, 0)𝑒−𝑗2𝜋1∗1/3 +F1(2, 0)𝑒−𝑗2𝜋1∗2/3 = 0 x 1 + 0 x (-0.5000 - 0.8660i) + 0 x (-0.5000 + 0.8660i) = 0 For, u = 2: F(2, 0) = F1(0, 0)𝑒−𝑗2𝜋2∗0/3 +F1(1, 0)𝑒−𝑗2𝜋2∗1/3 +F1(2, 0)𝑒−𝑗2𝜋2∗2/3 = 0 x 1 + 0 x (-0.5000 + 0.8660i) + 0 x (-0.5000 - 0.8660i) = 0 So, F(u, 0) = [9 0 0]; Similarly, F(u, 1) = [0 0 0]; & F(u, 2) = [0 0 0]; Thus, F = 9 0 0 0 0 0 0 0 0
  20. 20. Problems on DFT 2) Let f(x, y) = 1 2 3 4 5 6 7 8 9 is image matrix. Then DFT(F) = ? Sol:- y 0 1 2 f(x, y) = x 0 1 2 1 2 3 4 5 6 7 8 9 => 𝑓 0, 𝑦 = ,1 2 3- 𝑓 1, 𝑦 = ,4 5 6- 𝑓 2, 𝑦 = ,7 8 9- Generally, F(v) = 𝑓(𝑦)𝑒−𝑗2𝜋𝑣𝑦/𝑁𝑁−1 𝑦=0 Thus, F1(0, v) = 𝑓(0, 𝑦)𝑒−𝑗2𝜋𝑣𝑦/𝑁𝑁−1 𝑦=0
  21. 21. F1(0, v) = 𝑓(0, 𝑦)𝑒−𝑗2𝜋𝑣𝑦/𝑁𝑁−1 𝑦=0 F1(0, v) = 𝑓(0, 0)𝑒−𝑗2𝜋𝑣0/3 + 𝑓(0, 1)𝑒−𝑗2𝜋𝑣1/3 + 𝑓(0, 2)𝑒−𝑗2𝜋𝑣2/3 For, v = 0: F1(0, 0) = 𝑓(0, 0)𝑒−𝑗2𝜋0∗0/3 + 𝑓(0, 1)𝑒−𝑗2𝜋0∗1/3 + 𝑓(0, 2)𝑒−𝑗2𝜋0∗2/3 = 1 x 1 + 2 x 1 + 3 x 1 = 6 For, v = 1: F1(0, 1) = 𝑓(0, 0)𝑒−𝑗2𝜋1∗0/3 + 𝑓(0, 1)𝑒−𝑗2𝜋1∗1/3 + 𝑓(0, 2)𝑒−𝑗2𝜋1∗2/3 = 1 x 1 + 2 x (-0.5000 - 0.8660i) + 3 x (-0.5000 + 0.8660i) = -1.5000 + 0.8660i For, v = 2: F1(0, 2) = 𝑓(0, 0)𝑒−𝑗2𝜋2∗0/3 + 𝑓(0, 1)𝑒−𝑗2𝜋2∗1/3 + 𝑓(0, 2)𝑒−𝑗2𝜋2∗2/3 = 1 x 1 + 2 x (-0.5000 + 0.8660i) + 3 x (-0.5000 - 0.8660i) = -1.5000 - 0.8660i So, F1(0, v) = [6 -1.5000 + 0.8660i -1.5000 - 0.8660i]; Similarly, F1(1, v) = [15 -1.5000 + 0.8660i -1.5000 - 0.8660i]; & F1(2, v) = [24 -1.5000 + 0.8660i -1.5000 - 0.8660i]; Thus, F1 = 6 −1.5000 + 0.8660i −1.5000 − 0.8660i 15 −1.5000 + 0.8660i −1.5000 − 0.8660i 24 −1.5000 + 0.8660i −1.5000 − 0.8660i Now, applying transformation column-wise.
  22. 22. Generally, F(u) = 𝑓(𝑥)𝑒−𝑗2𝜋𝑢𝑥/𝑀𝑀−1 𝑥=0 Thus, F(u, 0) = 𝐹1(𝑥, 0)𝑒−𝑗2𝜋𝑢𝑥/𝑀𝑀−1 𝑥=0 F(u, 0) = F1 (0, 0)𝑒−𝑗2𝜋𝑢0/3 + F1(1, 0)𝑒−𝑗2𝜋𝑢1/3 +F1(2, 0)𝑒−𝑗2𝜋𝑢2/3 For, u = 0: F(0, 0) = F1(0, 0)𝑒−𝑗2𝜋0∗0/3 +F1(1, 0)𝑒−𝑗2𝜋0∗1/3 +F1(2, 0)𝑒−𝑗2𝜋0∗2/3 = 6 x 1 + 15 x 1 + 24 x 1 = 45 For, u = 1: F(0, 1) = F1(0, 1)𝑒−𝑗2𝜋1∗0/3 +F1(1, 1)𝑒−𝑗2𝜋1∗1/3 +F1(2, 1)𝑒−𝑗2𝜋1∗2/3 = 6 x 1 + 15 x (-0.5000 - 0.8660i) + 24 x (-0.5000 + 0.8660i) = -13.5000 + 7.7940i For, u = 2: F(0, 2) = F1(0, 2)𝑒−𝑗2𝜋2∗0/3 +F1(1, 2)𝑒−𝑗2𝜋2∗1/3 +F1(2, 2)𝑒−𝑗2𝜋2∗2/3 = 6 x 1 + 15 x (-0.5000 + 0.8660i) + 24 x (-0.5000 - 0.8660i) = -13.5000 - 7.7940i Thus, F = 45 −4.5 + 2.59𝑖 −4.5 − 2.59𝑖 −13.5000 + 7.7940i 0 0 −13.5000 − 7.7940i 0 0
  23. 23. 3) Let f(x, y) = 0 1 0 1 0 1 0 1 0 is image matrix. Then DFT(F) = ? Sol:- y −1 0 1 f(x, y) = x −1 0 1 0 1 0 1 0 1 0 1 0 Generally, F(v) = 𝑓(𝑦)𝑒−𝑗2𝜋𝑣𝑦/𝑁𝑁/2 𝑦=−𝑁/2 Thus, F1(-1, v) = 𝑓(−1, 𝑦)𝑒−𝑗2𝜋𝑣𝑦/𝑁𝑁/2 𝑦=−𝑁/2
  24. 24. F1(-1, v) = 𝑓(−1, −1)𝑒−𝑗2𝜋𝑣(−1)/3 + 𝑓(−1, 0)𝑒−𝑗2𝜋𝑣0/3 + 𝑓 −1, 1 𝑒− 𝑗2𝜋𝑣1 3 & F(u, -1) = F1 (−1, −1)𝑒−𝑗2𝜋𝑢(−1)/3 + F1(0, −1)𝑒−𝑗2𝜋𝑢0/3 +F1(1, −1)𝑒−𝑗2𝜋𝑢1/3 Then, F = 4 −0.5 − 0.866𝑖 −0.5 + 0.866𝑖 −0.5 − 0.866𝑖 1 − 1.73𝑖 −2 −0.5 + 0.866𝑖 −2 1 + 1.73𝑖 𝑢𝑠𝑖𝑛𝑔 𝑟𝑒𝑓. (−1, −1) F = −2 1 −2 1 4 1 −2 1 −2 𝑢𝑠𝑖𝑛𝑔 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑒 (0, 0)
  25. 25. Symmetry Properties of 2D-DFT
  26. 26. Summary of DFT definitions
  27. 27. Summary of DFT definitions
  28. 28. Summary of DFT Pairs
  29. 29. Summary of DFT Pairs
  30. 30. Summary of steps for filtering in Frequency domain 1) Given an input image f(x, y) of size M x N, obtain the padding parameters P & Q as 2M & 2N respectively. 2) Form a padded image, fp(x, y), of size P x Q be appending the necessary number of zeros to f(x, y). 3) Multiply fp(x, y) by (-1)x+y to center its transform. 4) Compute the DFT, F(u, v), of the image from step 3. 5) Generate a real, symmetric filter function, H(u, v), of size P x Q with center at coordinates (P/2, Q/2). Form the product G(u, v) = H(u, v)F(u, v) using array multiplication; that is, G(i, k) = H(i, k)F(i, k). 6) Obtain the processed image: gp(x, y) = ,real*Ṫ-1[G(u, v)]]}(-1)x+y where the real part is selected in order to ignore parasitic complex components resulting from computational inaccuracies, and the subscript p indicates that we are dealing with padded arrays. 7) Obtain the final processed result, g(x, y), by extracting the M x N region from the top, left quadrant of gp(x, y).
  31. 31. Image smoothing using Frequency domain filters • Ideal Lowpass Filters: • A 2-D lowpass filter that passes without attenuation all frequencies within a circle of radius D0 from the origin and “cut off” all frequencies outside this circle is called an ideal lowpass filter (ILPF). H 𝑢, 𝑣 = 1, 𝑖𝑓 𝐷(𝑢, 𝑣) ≤ 𝐷0 0, 𝑖𝑓 𝐷(𝑢, 𝑣) > 𝐷0 Where, D0 - a positive constant D(u, v) – distance between (u, v) in the frequency domain and the center of the frequency rectangle; i.e. D(u, v) = [(u – P/2)2 + (v – Q/2)2]1/2 Where P & Q are 2M & 2N resp.
  32. 32. Image smoothing using Frequency domain filters Perspective plot of an ILPF Filter as image Filter radial cross section
  33. 33. Image smoothing using Frequency domain filters • Butterworth Lowpass Filters: • The transfer function of a Butterworth lowpass filter (BLPF) of order n, and with cutoff frequency at a distance D0 from the origin, is defined as, H 𝑢, 𝑣 = 1 1+ 𝐷 𝑢,𝑣 𝐷0 2𝑛 where, D(u, v) = [(u – P/2)2 + (v – Q/2)2]1/2
  34. 34. Image smoothing using Frequency domain filters Perspective plot of BLPF Radial cross section of filter Filter as image from order 1 - 4
  35. 35. Image smoothing using Frequency domain filters • Spatial representation of BLPF of order 1, 2, 5 & 20 & corresponding intensity profiles through the center of the filter. • Ringing increases as a function of filter order.
  36. 36. Image smoothing using Frequency domain filters • Gaussian Lowpass Filters: • Gaussian lowpass filters(GLPF) in two dimensions is given by 𝐻 𝑢, 𝑣 = 𝑒−𝐷2 (𝑢,𝑣)/2σ2 where, σ – is measure of spread about the center. • Let σ = D0, thus the filter can be expressed as: 𝐻 𝑢, 𝑣 = 𝑒−𝐷2 (𝑢,𝑣)/2𝐷0 2 where D0 is the cutoff frequency
  37. 37. Image smoothing using Frequency domain filters Perspective Plot of GLPF Filter radial cross Filter image section for diff D0
  38. 38. Image sharpening using Frequency domain filter • A highpass filter is obtained from a given lowpass filter using the equation HHP(u, v) = 1 – HLP(u, v) Where, HLP(u, v) – transfer function of the LPF • Ideal Highpass Filter • A 2-D highpass filter is given by H 𝑢, 𝑣 = 0, 𝑖𝑓 𝐷(𝑢, 𝑣) ≤ 𝐷0 1, 𝑖𝑓 𝐷(𝑢, 𝑣) > 𝐷0
  39. 39. Image sharpening using Frequency domain filter IHPF BHPF GHPF
  40. 40. Image sharpening using Frequency domain filter • Butterworth Highpass Filter • A 2-D Butterworth highpass filter (BHPF) of order n and cutoff frequency D0 is defined as H 𝑢, 𝑣 = 1 1+ 𝐷0 𝐷 𝑢,𝑣 2𝑛 • Gaussian Highpass Filter • The transfer function of the Gaussian highpass filter (GHPF) with cutoff frequency locus of at a distance D0 from the center of the frequency rectangle is given by 𝐻 𝑢, 𝑣 = 1 − 𝑒−𝐷2 (𝑢,𝑣)/2𝐷0 2
  41. 41. Laplacian in the frequency domain • The Laplacian can be implemented in the frequency domain using the filter H(u, v) = -4π2(u2 + v2) Or with respect to the center of the frequency rectangle, using the filter H(u, v) = -4π2D2(u, v) Where, D(u, v) is the distance function.
  42. 42. Laplacian in the frequency domain The Laplacian image is obtained as: 𝛻2 𝑓 𝑥, 𝑦 = T − 1*H u, v F(u, v)+ Enhancement is achieved using the equation 𝑔 𝑥, 𝑦 = 𝑓 𝑥, 𝑦 + 𝑐𝛻2 𝑓(𝑥, 𝑦) • Here, c = -1, because, H(u, v) is negative • In frequency domain the above equation is written as: 𝑔 𝑥, 𝑦 = T − 1*,1 + 4π2D2 u, v -F(u, v)+
  43. 43. Homomorphic Filtering • According to Illumination-Reflectance model: • An image f(x, y) can be expressed as the product of its illumination, i(x, y), and reflectance, r(x, y), components: f(x, y) = i(x, y)r(x, y) • Since the Fourier Transform of a product is not the product of he transforms: • So, F*f(x, y)+ ≠ F*i(x, y)+ F[r(x, y)] • However, if, z(x, y) = ln f(x, y) = ln i(x, y) + ln r(x, y) Then, F{z(x, y)} = F{ln f(x, y)} = F{ln i(x, y)} + F{ln r(x, y)}
  44. 44. Homomorphic Filtering or Z(u, v) = Fi(u, v) + Fr(u, v) Where, Fi(u, v) and Fr(u, v) are the Fourier transforms of ln i(x, y) & ln r(x, y) resp. We can filter Z(u, v) using a filter H(u, v) S(u, v) = H(u, v) Fi(u, v) + H(u, v) Fr(u, v) The filtered image in spatial domain is s(x, y) = T-1{S(u, v)} = T-1{H(u, v) Fi(u, v)} + T-1{H(u, v) Fr(u, v)} = i’(x, y) + r’(x, y) where, i’(x, y) = T-1{H(u, v) Fi(u, v)} r’(x, y) = T-1{H(u, v) Fr(u, v)}
  45. 45. Homomorphic Filtering • In order to get the original image, we reverse the process, g(x, y) = es(x, y) = ei’(x, y)er’(x, y) = i0(x, y)r0(x, y) where, i0(x, y) = ei’(x, y) & r0(x, y) = er’(x, y) are the illumination and reflectance components of the output (processed) image.
  46. 46. Summary of steps in homomorphic filtering • The illumination component of an image is characterized by slow spatial variations, while the reflectance components tend to vary abruptly. • The low frequencies of DFT of Logarithm of an image are associated with illumination and high frequencies with relectance.
  47. 47. Homomorphic Filtering • Shows cross section of such a homomorphic filter H(u, v) that affects low and high frequency components differently.
  48. 48. Homomorphic Filtering • If parameters γL & γH are chosen such that γL < 1 & γH > 1, the filter attenuates low frequencies and amplifies high frequencies. • It results in simultaneous dynamic range compression and contrast enhancement. (Highpass filter) • Slightly modified Gaussian highpass filter yields the function 𝐻 𝑢, 𝑣 = γH − γL ,1 − 𝑒−𝑐,𝐷2 (𝑢,𝑣)/𝐷0 2- ] + γL where, controls the sharpness of the slope of the function as it transitions between γL & γH

×