Convolution and Edge Detection

Convolution and Edge Detection

Convolution and Edge Detection 15-463: Computational Photography Some slides from Steve Seitz Alexei Efros, CMU, Fall 2005 Fourier spectrum Fun and games with spectra Gaussian filtering A Gaussian kernel gives less weight to pixels further from the center of the window 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9090909090 0 0 121 0 0 0 9090909090 0 0 242 0 0 0 9090909090 0 0 121 0 0 09009090900 0 0 0 0 9090909090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 This kernel is an approximation of4 a Gaussian function: Mean vs. Gaussian filtering 5 Convolution Remember cross-correlation: A convolution operation is a cross-correlation where the filter is flipped both horizontally and vertically before being applied to the image: It is written: Suppose H is a Gaussian or mean kernel. How does convolution differ from cross-correlation? The Convolution Theorem The greatest thing since sliced (banana) bread! • he Fourier transform of the convolution of two T functions is the product of their Fourier transforms F[g ]∗ h= F[ g ] F[ h ] • he inverse Fourier transform of the product of two T Fourier transforms is the convolution of the two inverse Fourier transforms F[]F[]F[]−gh1 =−1 g ∗ −1 h • Convolution in spatial domain is equivalent to multiplication in frequency domain! Fourier Transform pairs 2D convolution theorem example f(x,y) |F(sx,sy)| * h(x,y) |H(sx,sy)| g(x,y) |G(sx,sy)| Edges in images Image gradient The gradient of an image: The gradient points in the direction of most rapid change in intensity The gradient direction is given by: • how does this relate to the direction of the edge? The edge strength is given by the gradient magnitude Effects of noise Consider a single row or column of the image • Plotting intensity as a function of position gives a signal How to compute a derivative? Where is the edge? Solution: smooth first Where is the edge? Look for peaks in Derivative theorem of convolution This saves us one operation: Laplacian of Gaussian Consider Laplacian of Gaussian operator Where is the edge? Zero-crossings of bottom graph 2D edge detection filters Laplacian of Gaussian Gaussian derivative of Gaussian is the Laplacian operator: MATLAB demo g = fspecial('gaussian',15,2); imagesc(g) surfl(g) gclown = conv2(clown,g,'same'); imagesc(conv2(clown,[-1 1],'same')); imagesc(conv2(gclown,[-1 1],'same')); dx = conv2(g,[-1 1],'same'); imagesc(conv2(clown,dx,'same'); lg = fspecial('log',15,2); lclown = conv2(clown,lg,'same'); imagesc(lclown) imagesc(clown + .2*lclown) What does blurring take away? original What does blurring take away? smoothed (5x5 Gaussian) Edge detection by subtraction Why does this work? smoothed – original Gaussian - image filter FFT Gaussian delta function Laplacian of Gaussian What is happening? Unsharp Masking - = + α =.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    23 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us