1 / 15

Final Project Part I MATLAB Session

Final Project Part I MATLAB Session. ES 156 Signals and Systems 2007 SEAS. Prepared by Frank Tompkins. Outline . Discrete Cosine Transform (DCT) Review of DFT/FFT 1-D and 2-D Basic Image Processing 2-D LTI systems Impulse response Filtering kernels and fspecial Thresholding.

tuari
Download Presentation

Final Project Part I MATLAB Session

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. Final Project Part IMATLAB Session ES 156 Signals and Systems 2007 SEAS Prepared by Frank Tompkins

  2. Outline • Discrete Cosine Transform (DCT) • Review of DFT/FFT • 1-D and 2-D • Basic Image Processing • 2-D LTI systems • Impulse response • Filtering kernels and fspecial • Thresholding

  3. DFT Review • Finite length discrete time signal x[n] • Discrete fourier transform • fft, ifft, fftshift, ifftshift in MATLAB

  4. DCT • Discrete Cosine Transform • Discrete Fourier Transform • Note the similarity • DCT is roughly real part of DFT

  5. 2-D Discrete Time Signals • x[m,n], finite length in both dimensions • Can think of it as a matrix • Doesn’t have to be square • An image is one example • How to do frequency analysis of a 2-D signal? • Just do two Fourier transforms; one for each dimension

  6. DCT (2-D) • Each signal/function can be thought of as a matrix • We can treat x[m,n] as a function of m for each n • Define xn[m] = x[m,n] • Compute DCT of xn[m], call it Xn[k] • Treat Xn[k] as a function of n for each k • Define xk[n] = Xn[k] • Compute DCT of xk[n], call it Xk[l] • Then we define the (2-D) DCT of x[m,n] to be X[k, l] = Xk[l]

  7. DCT • Overall formula • Note that signal doesn’t need to be square • Compute with MATLAB commands dct2 and idct2

  8. DCT Example

  9. 2-D LTI Systems • In 1-D, LTI systems is characterized entirely by impulse response h[n] • Input x[n] yields output y[n] = h[n] *x[n] • For 2-D LTI systems, we have a similar result • Input x[m,n] yields outputy[m,n] = h[m,n] **x[m,n] • This is a 2-D convolution

  10. 2-D Convolution • MATLAB command conv2

  11. But what is h[m,n]? • Analogous to 1-D case • In 1-D, h[n] is output when d[n] is input • In 2-D, h[m,n] is output whend[m,n] = d[m]d[n] is input

  12. fspecial • MATLAB command to generate some common 2-D filters (aka kernels) • Gaussian • Sobel • Prewitt

  13. Filtering Example • Prewitt kernel • This filter emphasizes horizontal edges in an image H = fspecial('prewitt'); filt = conv2(H, X); imshow(filt); XT = dct2(filt); imshow(XT);

  14. Filtering Example • Note that the left side of the DCT is for horizontal edges

  15. Thresholding • Set lowest 78% (or whatever) image values to zero and the rest to white to emphasize edges frac = 0.78; thresh = max(max(filt))*frac + min(min(filt))*(1-frac); result = filt > thresh; imshow(result);

More Related