Tài liệu

Image processing - Lab 1

Science and Technology

Problem 1. FFT Analysis

In this laboratory problem, you will learn the MATLAB functions for computing 2D DFT and inverse 2D DFT, and become familiar with basic matrix operations. You will also examine effects occurred to each image as a result of applying different operations in the frequency domain.

You are asked to write a MATLAB program to perform the following tasks for the given test images. (Hint: You may want to consider the following MATLAB functions: imread, imwrite, fft2, ifft2, fftshift, abs and angle)

  1. Get the two images: lena.png and beckman.jpg.
  2. Zoom in a small part of the image to see the pixels separately.
  3. Compute the DFT F(x; y) and display the magnitude and phase of F(x; y)
  4. Keep the magnitude of F(x; y) and set the phase to 0 for each frequency sample. Take the inverse DFT, show the result and compare to the original images.
  5. Keep the phase of F(x, y) and set the magnitude to unity for each frequency sample. Take the inverse DFT, show the result and compare to the original images
  6. Keep the phase of F(x; y ) and replace the magnitude of each frequency sample by it square root. Take the inverse DFT, show the result and compare to the original images. You should observe an edge enhancement.
  7. Low-pass filter the test images. First use the rectangular low pass filter
H ( x , y ) = { 1 x < C x and y < C y 0 otherwise size 12{H \( x,y \) = left lbrace matrix { 1 {} # lline x rline <C rSub { size 8{x} } ` ital "and"` lline y rline <C rSub { size 8{y} } {} ## 0 {} # ital "otherwise"{} } right none } {}

Where Cx size 12{C rSub { size 8{x} } } {}and Cy size 12{C rSub { size 8{y} } } {}are the cut-off frequencies for x and y respectively. You may want to try fo