1 / 50

# Recap of Friday - PowerPoint PPT Presentation

Recap of Friday. linear Filtering convolution differential filters filter types boundary conditions. Review: questions. Write down a 3x3 filter that returns a positive value if the average value of the 4-adjacent neighbors is less than the center and a negative value otherwise

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Recap of Friday' - jemima

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

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

linear Filtering

convolution

differential filters

filter types

boundary conditions.

• Write down a 3x3 filter that returns a positive value if the average value of the 4-adjacent neighbors is less than the center and a negative value otherwise

• Write down a filter that will compute the gradient in the x-direction:

• gradx(y,x) = im(y,x+1)-im(y,x) for each x, y

Slide: Hoiem

Filtering Operator

a) _ = D * B

b) A = _ * _

c) F = D * _

d) _ = D * D

• 3. Fill in the blanks:

A

B

E

G

C

F

D

H

I

Slide: Hoiem

Somewhere in Cinque Terre, May 2005

CS129: Computational Photography

James Hays, Brown, Spring 2011

Slides from Steve Seitzand Alexei Efros

“Gala Contemplating the Mediterranean Sea,

which at 30 meters becomes the portrait

of Abraham Lincoln”, 1976

Salvador Dali, “Gala Contemplating the Mediterranean Sea, which at 30 meters becomes the portrait of Abraham Lincoln”, 1976

Salvador Dali, “Gala Contemplating the Mediterranean Sea, which at 30 meters becomes the portrait of Abraham Lincoln”, 1976

Teases away fast vs. slow changes in the image.

This change of basis has a special name…

• Any periodic function can be rewritten as a weighted sum of sines and cosines of different frequencies.

• Don’t believe it?

• Neither did Lagrange, Laplace, Poisson and other big wigs

• Not translated into English until 1878!

• But it’s true!

• called Fourier Series

• Our building block:

• Add enough of them to get any signal f(x) you want!

• How many degrees of freedom?

• What does each control?

• Which one encodes the coarse vs. fine structure of the signal?

Transform

Fourier

Transform

F(w)

f(x)

F(w)

f(x)

Fourier Transform

• We want to understand the frequency w of our signal. So, let’s reparametrize the signal by w instead of x:

• For every w from 0 to inf, F(w) holds the amplitude A and phase f of the corresponding sine

• How can F hold both? Using complex numbers.

We can always go back:

• example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

• example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

=

+

• example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

=

+

• Usually, frequency is more interesting than the phase

in Matlab, check out: imagesc(log(abs(fftshift(fft2(im)))));

The Fourier transform of the convolution of two functions is the product of their Fourier transforms

Convolution in spatial domain is equivalent to multiplication in frequency domain!

The Convolution Theorem

2D convolution theorem example the product of their Fourier transforms

|F(sx,sy)|

f(x,y)

*

h(x,y)

|H(sx,sy)|

g(x,y)

|G(sx,sy)|

Filtering in frequency domain the product of their Fourier transforms

FFT

FFT

=

Inverse FFT

Slide: Hoiem

FFT in Matlab the product of their Fourier transforms

• Filtering with fft

• Displaying with fft

im = rgb2gray(im); % “im” should be a gray-scale floating point image

[imh, imw] = size(im);

hs = 50; % filter half-size

fil = fspecial('gaussian', hs*2+1, 10);

fftsize = 1024; % should be order of 2 (for speed) and include padding

im_fft = fft2(im, fftsize, fftsize); % 1) fft im with padding

fil_fft = fft2(fil, fftsize, fftsize); % 2) fft fil, pad to same size as image

im_fil_fft = im_fft .* fil_fft; % 3) multiply fft images

im_fil = ifft2(im_fil_fft); % 4) inverse fft2

im_fil = im_fil(1+hs:size(im,1)+hs, 1+hs:size(im, 2)+hs); % 5) remove padding

figure(1), imagesc(log(abs(fftshift(im_fft)))), axis image, colormap jet

Slide: Hoiem

Fourier Transform pairs the product of their Fourier transforms

Low-pass, Band-pass, High-pass filters the product of their Fourier transforms

low-pass:

High-pass / band-pass:

Edges in images the product of their Fourier transforms

What does blurring take away? the product of their Fourier transforms

original

What does blurring take away? the product of their Fourier transforms

smoothed (5x5 Gaussian)

High-Pass filter the product of their Fourier transforms

smoothed – original

• The gradient direction is given by: the product of their Fourier transforms

• how does this relate to the direction of the edge?

• The edge strength is given by the gradient magnitude

• The gradient of an image:

• The gradient points in the direction of most rapid change in intensity

Effects of noise the product of their Fourier transforms

• 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?

Look for peaks in the product of their Fourier transforms

Solution: smooth first

Where is the edge?

Derivative theorem of convolution the product of their Fourier transforms

• This saves us one operation:

Laplacian of Gaussian the product of their Fourier transforms

is the Laplacian operator:

2D edge detection filters

Gaussian

derivative of Gaussian

Campbell-Robson contrast sensitivity curve the product of their Fourier transforms

Depends on Color the product of their Fourier transforms

R

G

B

Lossy Image Compression (JPEG) the product of their Fourier transforms

Block-based Discrete Cosine Transform (DCT)

Using DCT in JPEG the product of their Fourier transforms

• The first coefficient B(0,0) is the DC component, the average intensity

• The top-left coeffs represent low frequencies, the bottom right – high frequencies

Image compression using DCT the product of their Fourier transforms

• DCT enables image compression by concentrating most image information in the low frequencies

• Lose unimportant image info (high frequencies) by cutting B(u,v) at bottom right

• The decoder computes the inverse DCT – IDCT

• Quantization Table

• 3 5 7 9 11 13 15 17

• 5 7 9 11 13 15 17 19

• 7 9 11 13 15 17 19 21

• 9 11 13 15 17 19 21 23

• 11 13 15 17 19 21 23 25

• 13 15 17 19 21 23 25 27

• 15 17 19 21 23 25 27 29

• 17 19 21 23 25 27 29 31

JPEG compression comparison the product of their Fourier transforms

89k

12k

Things to Remember the product of their Fourier transforms

• Sometimes it makes sense to think of images and filtering in the frequency domain

• Fourier analysis

• Can be faster to filter using FFT for large images (N logN vs. N2 for auto-correlation)

• Images are mostly smooth

• Basis for compression

• Remember to low-pass before sampling

Summary the product of their Fourier transforms

Frequency domain can be useful for

Analysis

Computational efficiency

Compression