Spatial Domain Filtering - Case Western Reserve...

64
Spatial Domain Filtering

Transcript of Spatial Domain Filtering - Case Western Reserve...

Page 1: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Spatial Domain Filtering

Page 2: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Spatial Domain Filtering

Page 3: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Spatial Domain Filtering

Page 4: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Fourier Transform

Page 5: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.
Page 6: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

2-D Fourier Transform

Page 7: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Spatial Frequency

u =1

M x

Page 8: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Fourier Transform Shift

Page 9: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Fourier Transform Rotation

Page 10: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Sample 2-D Fourier Transforms

Page 11: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Power Spectra

Page 12: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Image Enhancement in the

Frequency Domain

Page 13: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

2-D Fourier Transform

Page 14: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

2-D High- & Low-Pass Filters

Page 15: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

2-D Notch Filter

Page 16: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Low-Pass Filtering in Frequency Domain

Page 17: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Non-linear Filtering

Page 18: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

1D Convolution

Page 19: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

2D Convolution

Page 20: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Computation Requirements

Page 21: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

2D Transforms as 1D Computations

Page 22: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Sample C Code for Spatial Processing

Page 23: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Spatial Derivatives

Page 24: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Edge Processing

Page 25: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

More Edge Processing

Page 26: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Second Order Derivatives

Page 27: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

2D Edge Finding

Page 28: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.
Page 29: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Edge Location

Page 30: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Sharpening

Page 31: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 32: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 33: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 34: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 35: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 36: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 37: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 38: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 39: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 40: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 41: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 42: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 43: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 44: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 45: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 46: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 47: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 48: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 49: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 50: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 51: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 52: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 53: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 54: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 55: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 56: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 57: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 58: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

Chapter 2: Digital Image Fundamentals

Page 59: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

MATLAB/Image Processing Toolbox

function [rt, f, g] = twodsin(A,u0, v0, M, N)% TWODSIN Compares for loops vs. vectorization.% The comparison is based on implementing the function% f(x,y)=Asin(u0x+v0y) for x=0,1,2,…,M-1 and% y=0,1,2,…,N-1. The inputs to the function are% M and N and the constants in the function.% GWE, Example 2.13, p.57

% First implement using for loopstic %start timingfor r=1:M u0x=u0*(r-1); for c=1:N v0y=v0*(c-1); f(r,c)=A*sin(u0x+v0y); endendt1=toc; % End timing

% Now implement using vectorizationtic %start timingr=0:M-1;c=0:N-1;[C,R]=meshgrid(c,r);%special MATLAB function for fast 2D function evaluations% creates all the (x,y) pairs for function evaluationg=A*sin(u0*R+v0*C);

t2=toc; %End timing

%compute the ratio of the two timesrt=t1/(t2+eps); %use eps in case t2 is close to zero.

Page 60: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

MATLAB/Image Processing Toolbox

>> [rt,f,g]=twodsin(1, 1/(2*pi), 1/(4*pi), 512, 512);>> rt rt = 34.2520 % I only got ~19 on my old machine.>>g=mat2gray(g);>> imshow(g) %show in separate window.

Page 61: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

MATLAB/Image Processing Toolbox

imshow (f)%f is an image array

imwrite(f, ‘filename’)% filename MUST contain a recognized file format extension% .tif or .tiff identify TIFF% .jpg identifies JPEG% additional parameters for tiff and jpeg identify compression, etc.

imfinfo filename% returns all kind of useful file information such as size

g=imread(‘filename’)% filename MUST contain an appropriate extension

Page 62: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

MATLAB/Image Processing Toolbox

indexed

intensity

RGBbinary

General matrix

rgb2ind

rgb2gray

mat2gray

ind2graygray2ind

ind2rgb

bw2ind

im2bw

im2bw

im2bw

Page 63: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

MATLAB/Image Processing Toolbox

One pixel

1 2 3 N

123

M

r

c

Page 64: Spatial Domain Filtering - Case Western Reserve Universityengr.case.edu/merat_francis/eecs490f06/Lectures/EECS 490... · 2012-02-16 · Spatial Domain Filtering. Spatial Domain Filtering.

Digital Image Processing, 2nd ed.www.imageprocessingbook.com

© 2002 R. C. Gonzalez & R. E. Woods

MATLAB/Image Processing Toolbox

>> h=imhist(f) %any previously loaded image % must be gray scale image>> h1=h(1:10:256) %create bins for horiz axis>> horz=1:10:256; %>> bar(horz, h1) %>> axis([0 255 0 15000]) %expand lower range of y-axis>> set(gca, ‘xtick’, 0:50:255) %gca means ‘get current axis’>> set(gca, ‘ytick’, 0:2000:15000) %lab h & v ticks

See GWE, p.77-78