Fourier analysis of images

Size: px
Start display at page:

Download "Fourier analysis of images"

Transcription

1 Fourier analysis of images Intensity Image Fourier Image Slides: James Hays, Hoiem, Efros, and others

2 Signals can be composed + = More:

3 Fourier Transform Fourier transform stores the magnitude and phase at each frequency Magnitude encodes how much signal there is at a particular frequency Phase encodes spatial information (indirectly) For mathematical convenience, this is often notated in terms of real and complex numbers Amplitude: A = ± R ω + I 2 2 ( ) ( ω) Phase: φ = tan I( ω) R( ω)

4 Filtering in the Frequency Domain Ideal LPF: D(u,v) is the distance from point (u,v) to the center of the filter. D is the cutoff frequency. Gaussian LPF:. g(x) σ x 2 2 ( x + y ) g( x, y ) = exp( 2 ) 2σ = g( x ) g( y ) 2 x g( x ) = exp( 2 ) 2σ G(u,v) = H(u,v) F(u,v) element-wise multiplication in frequency domain, then perform inverse DFT on G(u,v)...

5 Ideal LPF: Gaussian LPF:

6 High-pass Filters in the Frequency Domain Ideal HPF: Gaussian HPF: G(u,v) = H(u,v) F(u,v) element-wise multiplication in frequency domain, then perform inverse DFT on G(u,v)...

7 Ideal HPF: Gaussian HPF:

8 Filtering with the FFT in Matlab im = double(imread('baboon.bmp'))/255; im = rgb2gray(im); % im should be a gray-scale floating point image figure; imshow(im); [imh, imw] = size(im); hs = 5; % filter half-size fil = fspecial('gaussian', hs*2+, ); figure; bar3(fil); fftsize = 24; % should be order of 2 (for speed) and include padding im_fft = fft2(im, fftsize, fftsize); % ) fft im with padding figure(); imagesc(log(abs(fftshift(im_fft)))), axis image, colormap jet fil_fft = fft2(fil, fftsize, fftsize); image % 2) fft fil, pad to same size as figure(); imagesc(log(abs(fftshift(fil_fft)))), axis image, colormap jet im_fil_fft = im_fft.* fil_fft; % 3) multiply fft images im_fil = ifft2(im_fil_fft); % 4) inverse fft2 im_fil = im_fil(+hs:size(im,)+hs, +hs:size(im, 2)+hs); % 5) remove padding figure; imshow(im_fil);

9 Filtering Why does the Gaussian give a nice smooth image, but the square filter give edgy artifacts? Gaussian Box filter

10 Gaussian

11 Box Filter

12 Sampling Why does a lower resolution image still make sense to us? What do we lose? Image:

13 Subsampling by a factor of 2 Throw away every other row and column to create a /2 size image

14 Aliasing problem D example (sinewave): Source: S. Marschner

15 Aliasing problem D example (sinewave): Source: S. Marschner

16 Aliasing problem Sub-sampling may be dangerous. Characteristic errors may appear: Wagon wheels rolling the wrong way in movies Checkerboards disintegrate in ray tracing Striped shirts look funny on color television Source: D. Forsyth

17 Aliasing in video Slide by Steve Seitz

18 Aliasing in graphics Source: A. Efros

19 Sampling and aliasing

20 Nyquist-Shannon Sampling Theorem When sampling a signal at discrete intervals, the sampling frequency must be 2 f max f max = max frequency of the input signal This allows us to reconstruct the original perfectly from the sampled version v v v good bad

21 Anti-aliasing Solutions: Sample more often Get rid of all frequencies that are greater than half the new sampling frequency Will lose information But it s better than aliasing Apply a smoothing filter

22 Algorithm for downsampling by factor of 2. Start with image(h, w) 2. Apply low-pass filter im_blur = imfilter(image, fspecial( gaussian, 7, )) 3. Sample every other pixel im_small = im_blur(:2:end, :2:end);

23 Anti-aliasing Forsyth and Ponce 22

24 Subsampling without pre-filtering /2 /4 (2x zoom) /8 (4x zoom) Slide by Steve Seitz

25 Subsampling with Gaussian pre-filtering Gaussian /2 G /4 G /8 Slide by Steve Seitz

26 Why do we get different, distance-dependent interpretations of hybrid images??

27 Salvador Dali invented Hybrid Images? Salvador Dali Gala Contemplating the Mediterranean Sea, which at 3 meters becomes the portrait of Abraham Lincoln, 976

28

29 Clues from Human Perception Early processing in humans filters for various orientations and scales of frequency Perceptual cues in the mid-high frequencies dominate perception When we see an image from far away, we are effectively subsampling it Early Visual Processing: Multi-scale edge and blob filters

30 Campbell-Robson contrast sensitivity curve

31 Hybrid Image in FFT Hybrid Image Low-passed Image High-passed Image

32 Perception Why do we get different, distance-dependent interpretations of hybrid images??

33 Things to Remember 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. N 2 for autocorrelation) Images are mostly smooth Basis for compression Remember to low-pass before sampling

34 Practice question. Match the spatial domain image to the Fourier magnitude image B A C D E

35 Slide credit Fei Fei Li

36 three views of filtering Image filtered in spatial domain Filter is a mathematical operation of a grid of numbers Smoothing, sharpening, measuring texture Image filtered in the frequency domain Filtering is a way to modify the frequencies of images Denoising, sampling, image compression Templates and Image Pyramids Filtering is a way to match a template to the image Detection, coarse-to-fine registration

37 Image filtering Image filtering: compute function of local neighborhood at each position Really important! Enhance images Denoise, resize, increase contrast, etc. Extract information from images Texture, edges, distinctive points, etc. Detect patterns Template matching

38 Example: box filter g[, ] Slide credit: David Lowe (UBC)

39 Image filtering g[, ] f [.,.] h[.,.] h[ m, n] = k, l g[ k, l] f [ m + k, n + l] Credit: S. Seitz

40 Image filtering g[, ] f [.,.] h[.,.] h[ m, n] = g[ k, l] k, l f [ m + k, n + l] Credit: S. Seitz

41 Image filtering g[, ] f [.,.] h[.,.] h[ m, n] = g[ k, l] k, l f [ m + k, n + l] Credit: S. Seitz

42 Image filtering g[, ] f [.,.] h[.,.] h[ m, n] = g[ k, l] k, l f [ m + k, n + l] Credit: S. Seitz

43 Image filtering g[, ] f [.,.] h[.,.] h[ m, n] = g[ k, l] k, l f [ m + k, n + l] Credit: S. Seitz

44 Image filtering g[, ] f [.,.] h[.,.] ? 9 h[ m, n] = g[ k, l] k, l f [ m + k, n + l] Credit: S. Seitz

45 Image filtering g[, ] f [.,.] h[.,.] ? h[ m, n] = g[ k, l] k, l f [ m + k, n + l] Credit: S. Seitz

46 Image filtering g[, ] f [.,.] h[.,.] h[ m, n] = g[ k, l] k, l f [ m + k, n + l] Credit: S. Seitz

47 Box Filter What does it do? g[, ] Replaces each pixel with an average of its neighborhood Achieve smoothing effect (remove sharp features) Slide credit: David Lowe (UBC)

48 Smoothing with box filter

49 Practice with linear filters? Original Source: D. Lowe

50 Practice with linear filters Original Filtered (no change) Source: D. Lowe

51 Practice with linear filters? Original Source: D. Lowe

52 Practice with linear filters Original Shifted left By pixel Source: D. Lowe

53 Practice with linear filters 2 -? Original (Note that filter sums to ) Source: D. Lowe

54 Practice with linear filters 2 - Original Sharpening filter - Accentuates differences with local average Source: D. Lowe

55 Sharpening Source: D. Lowe

56 Other filters 2 Sobel Vertical Edge (absolute value)

57 Other filters Sobel - Horizontal Edge (absolute value)

58 The Convolution Theorem The Fourier transform of the convolution of two functions is the product of their Fourier transforms F[ g h] = F[ g]f[ h] Convolution in spatial domain is equivalent to multiplication in frequency domain! g * h = F [F[ g]f[ h]]

59 Filtering vs. Convolution g=filter f=image 2d filtering h=filter2(g,f); or h=imfilter(f,g); h[ m, n] = g[ k, l] k, l f [ m + k, n + l] 2d convolution h=conv2(g,f); h[ m, n] = k, l g[ k, l] f [ m k, n l]

60 Key properties of linear filters Linearity: filter(f + f 2 ) = filter(f ) + filter(f 2 ) Shift invariance: same behavior regardless of pixel location filter(shift(f)) = shift(filter(f)) Any linear, shift-invariant operator can be represented as a convolution Source: S. Lazebnik

61 More properties Commutative: a * b = b * a Conceptually no difference between filter and signal But particular filtering implementations might break this equality Associative: a * (b * c) = (a * b) * c Often apply several filters one after another: (((a * b ) * b 2 ) * b 3 ) This is equivalent to applying one filter: a * (b * b 2 * b 3 ) Distributes over addition: a * (b + c) = (a * b) + (a * c) Scalars factor out: ka * b = a * kb = k (a * b) Identity: unit impulse e = [,,,, ], a * e = a Source: S. Lazebnik

62 Important filter: Gaussian Weight contributions of neighboring pixels by nearness x 5, σ = Slide credit: Christopher Rasmussen

63 Smoothing with Gaussian filter

64 Smoothing with box filter

65 Gaussian filters Remove high-frequency components from the image (low-pass filter) Images become more smooth Convolution with self is another Gaussian So can smooth with small-width kernel, repeat, and get same result as larger-width kernel would have Convolving two times with Gaussian kernel of width σ is same as convolving once with kernel of width σ 2 Separable kernel Factors into product of two D Gaussians Source: K. Grauman

66 Separability of the Gaussian filter Source: D. Lowe

67 Separability example 2D convolution (center location only) The filter factors into a product of D filters: Perform convolution along rows: * = Followed by convolution along the remaining column: * = Source: K. Grauman

68 Separability Why is separability useful in practice?

69 Practical matters How big should the filter be? Values at edges should be near zero Rule of thumb for Gaussian: set filter half-width to about 3 σ

70 Practical matters What about near the edge? the filter window falls off the edge of the image need to extrapolate methods: clip filter (black) wrap around copy edge reflect across edge Source: S. Marschner

71 Practical matters Q? methods (MATLAB): clip filter (black): imfilter(f, g, ) wrap around: imfilter(f, g, circular ) copy edge: imfilter(f, g, replicate ) reflect across edge: imfilter(f, g, symmetric ) Source: S. Marschner

72 g Practical matters What is the size of the output? MATLAB: filter2(g, f, shape) shape = full : output size is sum of sizes of f and g shape = same : output size is same as f shape = valid : output size is difference of sizes of f and g full same valid g g g g g f f f g g g g g g Source: S. Lazebnik

73 Median filters A Median Filter operates over a window by selecting the median intensity in the window. What advantage does a median filter have over a mean filter? Is a median filter a kind of convolution? 26 Steve Marschner 78 Slide by Steve Seitz

74 Comparison: salt and pepper noise 26 Steve Marschner 79 Slide by Steve Seitz

75 Hybrid Images Gaussian Filter! A. Oliva, A. Torralba, P.G. Schyns, Hybrid Images, SIGGRAPH 26 Laplacian Filter! unit impulse Gaussian Laplacian of Gaussian

76 Remember Linear filtering is sum of products at each position Can smooth, sharpen, translate (among many other uses) Be aware of details for filter size, extrapolation, cropping

77 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 2. Write down a filter that will compute the gradient in the x-direction: gradx(y,x) = im(y,x+)-im(y,x) for each x, y Slide: Hoiem

78 Review: questions 3. Fill in the blanks: a) _ = D * B b) A = _ * _ c) F = D * _ d) _ = D * D Filtering Operator A E B F G C H I D Slide: Hoiem

Thinking in Frequency

Thinking in Frequency Thinking in Frequency Computer Vision Brown James Hays Slides: Hoiem, Efros, and others Recap of Wednesday linear filtering convolution differential filters filter types boundary conditions. Review: questions

More information

Motion illusion, rotating snakes

Motion illusion, rotating snakes Motion illusion, rotating snakes Image Filtering 9/4/2 Computer Vision James Hays, Brown Graphic: unsharp mask Many slides by Derek Hoiem Next three classes: three views of filtering Image filters in spatial

More information

Next Classes. Spatial frequency Fourier transform and frequency domain. Reminder: Textbook. Frequency view of filtering Hybrid images Sampling

Next Classes. Spatial frequency Fourier transform and frequency domain. Reminder: Textbook. Frequency view of filtering Hybrid images Sampling Salvador Dali, 1976 Next Classes Spatial frequency Fourier transform and frequency domain Frequency view of filtering Hybrid images Sampling Reminder: Textbook Today s lecture covers material in 3.4 Slide:

More information

02/02/10. Image Filtering. Computer Vision CS 543 / ECE 549 University of Illinois. Derek Hoiem

02/02/10. Image Filtering. Computer Vision CS 543 / ECE 549 University of Illinois. Derek Hoiem 2/2/ Image Filtering Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Questions about HW? Questions about class? Room change starting thursday: Everitt 63, same time Key ideas from last

More information

06: Thinking in Frequencies. CS 5840: Computer Vision Instructor: Jonathan Ventura

06: Thinking in Frequencies. CS 5840: Computer Vision Instructor: Jonathan Ventura 06: Thinking in Frequencies CS 5840: Computer Vision Instructor: Jonathan Ventura Decomposition of Functions Taylor series: Sum of polynomials f(x) =f(a)+f 0 (a)(x a)+ f 00 (a) 2! (x a) 2 + f 000 (a) (x

More information

Thinking in Frequency

Thinking in Frequency Thinking in Frequency Computer Vision Jia-Bin Huang, Virginia Tech Dali: Gala Contemplating the Mediterranean Sea (1976) Administrative stuffs Course website: http://bit.ly/vt-computer-vision-fall-2016

More information

CSCI 1290: Comp Photo

CSCI 1290: Comp Photo CSCI 29: Comp Photo Fall 28 @ Brown University James Tompkin Many slides thanks to James Hays old CS 29 course, along with all of its acknowledgements. Things I forgot on Thursday Grads are not required

More information

Motivation: Image denoising. How can we reduce noise in a photograph?

Motivation: Image denoising. How can we reduce noise in a photograph? Linear filtering Motivation: Image denoising How can we reduce noise in a photograph? Moving average Let s replace each pixel with a weighted average of its neighborhood The weights are called the filter

More information

Motivation: Image denoising. How can we reduce noise in a photograph?

Motivation: Image denoising. How can we reduce noise in a photograph? Linear filtering Motivation: Image denoising How can we reduce noise in a photograph? Moving average Let s replace each pixel with a weighted average of its neighborhood The weights are called the filter

More information

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt.

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt. CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt. Session 7 Pixels and Image Filtering Mani Golparvar-Fard Department of Civil and Environmental Engineering 329D, Newmark Civil Engineering

More information

Sampling and Reconstruction

Sampling and Reconstruction Sampling and Reconstruction Many slides from Steve Marschner 15-463: Computational Photography Alexei Efros, CMU, Fall 211 Sampling and Reconstruction Sampled representations How to store and compute with

More information

Image Filtering in Spatial domain. Computer Vision Jia-Bin Huang, Virginia Tech

Image Filtering in Spatial domain. Computer Vision Jia-Bin Huang, Virginia Tech Image Filtering in Spatial domain Computer Vision Jia-Bin Huang, Virginia Tech Administrative stuffs Lecture schedule changes Office hours - Jia-Bin (44 Whittemore Hall) Friday at : AM 2: PM Office hours

More information

Prof. Feng Liu. Winter /10/2019

Prof. Feng Liu. Winter /10/2019 Prof. Feng Liu Winter 29 http://www.cs.pdx.edu/~fliu/courses/cs4/ //29 Last Time Course overview Admin. Info Computer Vision Computer Vision at PSU Image representation Color 2 Today Filter 3 Today Filters

More information

Templates and Image Pyramids

Templates and Image Pyramids Templates and Image Pyramids 09/07/17 Computational Photography Derek Hoiem, University of Illinois Why does a lower resolution image still make sense to us? What do we lose? Image: http://www.flickr.com/photos/igorms/136916757/

More information

>>> from numpy import random as r >>> I = r.rand(256,256);

>>> from numpy import random as r >>> I = r.rand(256,256); WHAT IS AN IMAGE? >>> from numpy import random as r >>> I = r.rand(256,256); Think-Pair-Share: - What is this? What does it look like? - Which values does it take? - How many values can it take? - Is it

More information

Image Filtering and Gaussian Pyramids

Image Filtering and Gaussian Pyramids Image Filtering and Gaussian Pyramids CS94: Image Manipulation & Computational Photography Alexei Efros, UC Berkeley, Fall 27 Limitations of Point Processing Q: What happens if I reshuffle all pixels within

More information

>>> from numpy import random as r >>> I = r.rand(256,256);

>>> from numpy import random as r >>> I = r.rand(256,256); WHAT IS AN IMAGE? >>> from numpy import random as r >>> I = r.rand(256,256); Think-Pair-Share: - What is this? What does it look like? - Which values does it take? - How many values can it take? - Is it

More information

Templates and Image Pyramids

Templates and Image Pyramids Templates and Image Pyramids 09/06/11 Computational Photography Derek Hoiem, University of Illinois Project 1 Due Monday at 11:59pm Options for displaying results Web interface or redirect (http://www.pa.msu.edu/services/computing/faq/autoredirect.html)

More information

CS 4501: Introduction to Computer Vision. Filtering and Edge Detection

CS 4501: Introduction to Computer Vision. Filtering and Edge Detection CS 451: Introduction to Computer Vision Filtering and Edge Detection Connelly Barnes Slides from Jason Lawrence, Fei Fei Li, Juan Carlos Niebles, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein,

More information

Image filtering, image operations. Jana Kosecka

Image filtering, image operations. Jana Kosecka Image filtering, image operations Jana Kosecka - photometric aspects of image formation - gray level images - point-wise operations - linear filtering Image Brightness values I(x,y) Images Images contain

More information

Images and Filters. EE/CSE 576 Linda Shapiro

Images and Filters. EE/CSE 576 Linda Shapiro Images and Filters EE/CSE 576 Linda Shapiro What is an image? 2 3 . We sample the image to get a discrete set of pixels with quantized values. 2. For a gray tone image there is one band F(r,c), with values

More information

Matlab (see Homework 1: Intro to Matlab) Linear Filters (Reading: 7.1, ) Correlation. Convolution. Linear Filtering (warm-up slide) R ij

Matlab (see Homework 1: Intro to Matlab) Linear Filters (Reading: 7.1, ) Correlation. Convolution. Linear Filtering (warm-up slide) R ij Matlab (see Homework : Intro to Matlab) Starting Matlab from Unix: matlab & OR matlab nodisplay Image representations in Matlab: Unsigned 8bit values (when first read) Values in range [, 255], = black,

More information

Sampling and Reconstruction

Sampling and Reconstruction Sampling and Reconstruction Salvador Dali, Dali from the Back Painting Gala from the Back Eternalized by Six Virtual Corneas Provisionally Reflected by Six Real Mirrors Many slides from Steve Marschner,

More information

Midterm is on Thursday!

Midterm is on Thursday! Midterm is on Thursday! Project presentations are May 17th, 22nd and 24th Next week there is a strike on campus. Class is therefore cancelled on Tuesday. Please work on your presentations instead! REVIEW

More information

CS6670: Computer Vision Noah Snavely. Administrivia. Administrivia. Reading. Last time: Convolution. Last time: Cross correlation 9/8/2009

CS6670: Computer Vision Noah Snavely. Administrivia. Administrivia. Reading. Last time: Convolution. Last time: Cross correlation 9/8/2009 CS667: Computer Vision Noah Snavely Administrivia New room starting Thursday: HLS B Lecture 2: Edge detection and resampling From Sandlot Science Administrivia Assignment (feature detection and matching)

More information

Last Lecture. photomatix.com

Last Lecture. photomatix.com Last Lecture photomatix.com Today Image Processing: from basic concepts to latest techniques Filtering Edge detection Re-sampling and aliasing Image Pyramids (Gaussian and Laplacian) Removing handshake

More information

Last Lecture. photomatix.com

Last Lecture. photomatix.com Last Lecture photomatix.com HDR Video Assorted pixel (Single Exposure HDR) Assorted pixel Assorted pixel Pixel with Adaptive Exposure Control light attenuator element detector element T t+1 I t controller

More information

Linear Filters Tues Sept 1 Kristen Grauman UT Austin. Announcements. Plan for today 8/31/2015. Image noise Linear filters. Convolution / correlation

Linear Filters Tues Sept 1 Kristen Grauman UT Austin. Announcements. Plan for today 8/31/2015. Image noise Linear filters. Convolution / correlation 8/3/25 Linear Filters Tues Sept Kristen Grauman UT Austin Announcements Piazza for assinment questions A due Friday Sept 4. Submit on Canvas. Plan for today Imae noise Linear filters Examples: smoothin

More information

Vision Review: Image Processing. Course web page:

Vision Review: Image Processing. Course web page: Vision Review: Image Processing Course web page: www.cis.udel.edu/~cer/arv September 7, Announcements Homework and paper presentation guidelines are up on web page Readings for next Tuesday: Chapters 6,.,

More information

Computer Vision Lecture 3

Computer Vision Lecture 3 Demo Haribo Classification Computer Vision Lecture 3 Linear Filters 3..25 Bastian Leibe RWTH Aachen http://www.vision.rwth-aachen.de leibe@vision.rwth-aachen.de Code available on the class website... 3

More information

Image Enhancement II: Neighborhood Operations

Image Enhancement II: Neighborhood Operations Image Enhancement II: Neighborhood Operations Image Enhancement:Spatial Filtering Operation Idea: Use a mask to alter piel values according to local operation Aim: De)-Emphasize some spatial requencies

More information

Frequencies and Color

Frequencies and Color Frequencies and Color Alexei Efros, CS280, Spring 2018 Salvador Dali Gala Contemplating the Mediterranean Sea, which at 30 meters becomes the portrait of Abraham Lincoln, 1976 Spatial Frequencies and

More information

Sampling and reconstruction

Sampling and reconstruction Sampling and reconstruction Week 10 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 Sampled representations How to store and compute with

More information

Sampling and Pyramids

Sampling and Pyramids Sampling and Pyramids 15-463: Rendering and Image Processing Alexei Efros with lots of slides from Steve Seitz Today Sampling Nyquist Rate Antialiasing Gaussian and Laplacian Pyramids 1 Fourier transform

More information

Sampling and reconstruction

Sampling and reconstruction Sampling and reconstruction CS 5625 Lecture 6 Lecture 6 1 Sampled representations How to store and compute with continuous functions? Common scheme for representation: samples write down the function s

More information

Announcements. Image Processing. What s an image? Images as functions. Image processing. What s a digital image?

Announcements. Image Processing. What s an image? Images as functions. Image processing. What s a digital image? Image Processing Images by Pawan Sinha Today s readings Forsyth & Ponce, chapters 8.-8. http://www.cs.washington.edu/education/courses/49cv/wi/readings/book-7-revised-a-indx.pdf For Monday Watt,.3-.4 (handout)

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Part : Image Enhancement in the Spatial Domain AASS Learning Systems Lab, Dep. Teknik Room T9 (Fr, - o'clock) achim.lilienthal@oru.se Course Book Chapter 3-4- Contents. Image Enhancement

More information

Practical Image and Video Processing Using MATLAB

Practical Image and Video Processing Using MATLAB Practical Image and Video Processing Using MATLAB Chapter 10 Neighborhood processing What will we learn? What is neighborhood processing and how does it differ from point processing? What is convolution

More information

CS4495/6495 Introduction to Computer Vision. 2C-L3 Aliasing

CS4495/6495 Introduction to Computer Vision. 2C-L3 Aliasing CS4495/6495 Introduction to Computer Vision 2C-L3 Aliasing Recall: Fourier Pairs (from Szeliski) Fourier Transform Sampling Pairs FT of an impulse train is an impulse train Sampling and Aliasing Sampling

More information

Image features: Histograms, Aliasing, Filters, Orientation and HOG. D.A. Forsyth

Image features: Histograms, Aliasing, Filters, Orientation and HOG. D.A. Forsyth Image features: Histograms, Aliasing, Filters, Orientation and HOG D.A. Forsyth Simple color features Histogram of image colors in a window Opponent color representations R-G B-Y=B-(R+G)/2 Intensity=(R+G+B)/3

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Part 2: Image Enhancement Digital Image Processing Course Introduction in the Spatial Domain Lecture AASS Learning Systems Lab, Teknik Room T26 achim.lilienthal@tech.oru.se Course

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Filtering in the Frequency Domain (Application) Christophoros Nikou cnikou@cs.uoi.gr University of Ioannina - Department of Computer Science and Engineering 2 Periodicity of the

More information

Digital Image Processing. Filtering in the Frequency Domain (Application)

Digital Image Processing. Filtering in the Frequency Domain (Application) Digital Image Processing Filtering in the Frequency Domain (Application) Christophoros Nikou cnikou@cs.uoi.gr University of Ioannina - Department of Computer Science 2 Periodicity of the DFT The range

More information

Frequency Domain Enhancement

Frequency Domain Enhancement Tutorial Report Frequency Domain Enhancement Page 1 of 21 Frequency Domain Enhancement ESE 558 - DIGITAL IMAGE PROCESSING Tutorial Report Instructor: Murali Subbarao Written by: Tutorial Report Frequency

More information

Achim J. Lilienthal Mobile Robotics and Olfaction Lab, AASS, Örebro University

Achim J. Lilienthal Mobile Robotics and Olfaction Lab, AASS, Örebro University Achim J. Lilienthal Mobile Robotics and Olfaction Lab, Room T29, Mo, -2 o'clock AASS, Örebro University (please drop me an email in advance) achim.lilienthal@oru.se 4.!!!!!!!!! Pre-Class Reading!!!!!!!!!

More information

Midterm Review. Image Processing CSE 166 Lecture 10

Midterm Review. Image Processing CSE 166 Lecture 10 Midterm Review Image Processing CSE 166 Lecture 10 Topics covered Image acquisition, geometric transformations, and image interpolation Intensity transformations Spatial filtering Fourier transform and

More information

LAB MANUAL SUBJECT: IMAGE PROCESSING BE (COMPUTER) SEM VII

LAB MANUAL SUBJECT: IMAGE PROCESSING BE (COMPUTER) SEM VII LAB MANUAL SUBJECT: IMAGE PROCESSING BE (COMPUTER) SEM VII IMAGE PROCESSING INDEX CLASS: B.E(COMPUTER) SR. NO SEMESTER:VII TITLE OF THE EXPERIMENT. 1 Point processing in spatial domain a. Negation of an

More information

Sampling and Reconstruction

Sampling and Reconstruction Sampling and reconstruction COMP 575/COMP 770 Fall 2010 Stephen J. Guy 1 Review What is Computer Graphics? Computer graphics: The study of creating, manipulating, and using visual images in the computer.

More information

Image acquisition. Midterm Review. Digitization, line of image. Digitization, whole image. Geometric transformations. Interpolation 10/26/2016

Image acquisition. Midterm Review. Digitization, line of image. Digitization, whole image. Geometric transformations. Interpolation 10/26/2016 Image acquisition Midterm Review Image Processing CSE 166 Lecture 10 2 Digitization, line of image Digitization, whole image 3 4 Geometric transformations Interpolation CSE 166 Transpose these matrices

More information

Image Filtering. Median Filtering

Image Filtering. Median Filtering Image Filtering Image filtering is used to: Remove noise Sharpen contrast Highlight contours Detect edges Other uses? Image filters can be classified as linear or nonlinear. Linear filters are also know

More information

Lec 05 - Linear Filtering & Edge Detection

Lec 05 - Linear Filtering & Edge Detection ECE 484 Digital Image Processing Lec 05 - Linear Filtering & Edge Detection Zhu Li Dept of CSEE, UMKC Office: FH560E, Email: lizhu@umkc.edu, Ph: x 2346. http://l.web.umkc.edu/lizhu Z. Li, ECE 484 Digital

More information

Image Sampling. Moire patterns. - Source: F. Durand

Image Sampling. Moire patterns. -  Source: F. Durand Image Sampling Moire patterns Source: F. Durand - http://www.sandlotscience.com/moire/circular_3_moire.htm Any questions on project 1? For extra credits, attach before/after images how your extra feature

More information

Sampling and reconstruction. CS 4620 Lecture 13

Sampling and reconstruction. CS 4620 Lecture 13 Sampling and reconstruction CS 4620 Lecture 13 Lecture 13 1 Outline Review signal processing Sampling Reconstruction Filtering Convolution Closely related to computer graphics topics such as Image processing

More information

EE482: Digital Signal Processing Applications

EE482: Digital Signal Processing Applications Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu EE482: Digital Signal Processing Applications Spring 2014 TTh 14:30-15:45 CBC C222 Lecture 15 Image Processing 14/04/15 http://www.ee.unlv.edu/~b1morris/ee482/

More information

Image Pyramids. Sanja Fidler CSC420: Intro to Image Understanding 1 / 35

Image Pyramids. Sanja Fidler CSC420: Intro to Image Understanding 1 / 35 Image Pyramids Sanja Fidler CSC420: Intro to Image Understanding 1 / 35 Finding Waldo Let s revisit the problem of finding Waldo This time he is on the road template (filter) image Sanja Fidler CSC420:

More information

Computer Graphics (Fall 2011) Outline. CS 184 Guest Lecture: Sampling and Reconstruction Ravi Ramamoorthi

Computer Graphics (Fall 2011) Outline. CS 184 Guest Lecture: Sampling and Reconstruction Ravi Ramamoorthi Computer Graphics (Fall 2011) CS 184 Guest Lecture: Sampling and Reconstruction Ravi Ramamoorthi Some slides courtesy Thomas Funkhouser and Pat Hanrahan Adapted version of CS 283 lecture http://inst.eecs.berkeley.edu/~cs283/fa10

More information

CS534 Introduction to Computer Vision. Linear Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University

CS534 Introduction to Computer Vision. Linear Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University CS534 Introduction to Computer Vision Linear Filters Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines What are Filters Linear Filters Convolution operation Properties of Linear Filters

More information

Overview. Neighborhood Filters. Dithering

Overview. Neighborhood Filters. Dithering Image Processing Overview Images Pixel Filters Neighborhood Filters Dithering Image as a Function We can think of an image as a function, f, f: R 2 R f (x, y) gives the intensity at position (x, y) Realistically,

More information

Image Processing for feature extraction

Image Processing for feature extraction Image Processing for feature extraction 1 Outline Rationale for image pre-processing Gray-scale transformations Geometric transformations Local preprocessing Reading: Sonka et al 5.1, 5.2, 5.3 2 Image

More information

Computer Vision, Lecture 3

Computer Vision, Lecture 3 Computer Vision, Lecture 3 Professor Hager http://www.cs.jhu.edu/~hager /4/200 CS 46, Copyright G.D. Hager Outline for Today Image noise Filtering by Convolution Properties of Convolution /4/200 CS 46,

More information

More image filtering , , Computational Photography Fall 2017, Lecture 4

More image filtering , , Computational Photography Fall 2017, Lecture 4 More image filtering http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2017, Lecture 4 Course announcements Any questions about Homework 1? - How many of you

More information

1.Discuss the frequency domain techniques of image enhancement in detail.

1.Discuss the frequency domain techniques of image enhancement in detail. 1.Discuss the frequency domain techniques of image enhancement in detail. Enhancement In Frequency Domain: The frequency domain methods of image enhancement are based on convolution theorem. This is represented

More information

Image preprocessing in spatial domain

Image preprocessing in spatial domain Image preprocessing in spatial domain convolution, convolution theorem, cross-correlation Revision:.3, dated: December 7, 5 Tomáš Svoboda Czech Technical University, Faculty of Electrical Engineering Center

More information

Lecture #10. EECS490: Digital Image Processing

Lecture #10. EECS490: Digital Image Processing Lecture #10 Wraparound and padding Image Correlation Image Processing in the frequency domain A simple frequency domain filter Frequency domain filters High-pass, low-pass Apodization Zero-phase filtering

More information

Lec 04: Image Filtering and Edge Features

Lec 04: Image Filtering and Edge Features Image Analysis & Retrieval CS/EE 559 Special Topics (Class Ids: 44873, 44874) Fall 26, M/W 4-5:5pm@Bloch 2 Lec 4: Image Filtering and Edge Features Zhu Li Dept of CSEE, UMKC Office: FH56E, Email: lizhu@umkc.edu,

More information

Filters. Materials from Prof. Klaus Mueller

Filters. Materials from Prof. Klaus Mueller Filters Materials from Prof. Klaus Mueller Think More about Pixels What exactly a pixel is in an image or on the screen? Solid square? This cannot be implemented A dot? Yes, but size matters Pixel Dots

More information

Transforms and Frequency Filtering

Transforms and Frequency Filtering Transforms and Frequency Filtering Khalid Niazi Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University 2 Reading Instructions Chapter 4: Image Enhancement in the Frequency

More information

Digital Image Processing. Image Enhancement: Filtering in the Frequency Domain

Digital Image Processing. Image Enhancement: Filtering in the Frequency Domain Digital Image Processing Image Enhancement: Filtering in the Frequency Domain 2 Contents In this lecture we will look at image enhancement in the frequency domain Jean Baptiste Joseph Fourier The Fourier

More information

ECE 484 Digital Image Processing Lec 09 - Image Resampling

ECE 484 Digital Image Processing Lec 09 - Image Resampling ECE 484 Digital Image Processing Lec 09 - Image Resampling Zhu Li Dept of CSEE, UMKC Office: FH560E, Email: lizhu@umkc.edu, Ph: x 2346. http://l.web.umkc.edu/lizhu slides created with WPS Office Linux

More information

Image Enhancement in spatial domain. Digital Image Processing GW Chapter 3 from Section (pag 110) Part 2: Filtering in spatial domain

Image Enhancement in spatial domain. Digital Image Processing GW Chapter 3 from Section (pag 110) Part 2: Filtering in spatial domain Image Enhancement in spatial domain Digital Image Processing GW Chapter 3 from Section 3.4.1 (pag 110) Part 2: Filtering in spatial domain Mask mode radiography Image subtraction in medical imaging 2 Range

More information

IMAGE ENHANCEMENT IN SPATIAL DOMAIN

IMAGE ENHANCEMENT IN SPATIAL DOMAIN A First Course in Machine Vision IMAGE ENHANCEMENT IN SPATIAL DOMAIN By: Ehsan Khoramshahi Definitions The principal objective of enhancement is to process an image so that the result is more suitable

More information

2D Discrete Fourier Transform

2D Discrete Fourier Transform 2D Discrete Fourier Transform In these lecture notes the figures have been removed for copyright reasons. References to figures are given instead, please check the figures yourself as given in the course

More information

Robert Collins CSE486, Penn State. Lecture 3: Linear Operators

Robert Collins CSE486, Penn State. Lecture 3: Linear Operators Lecture : Linear Operators Administrivia I have put some Matlab image tutorials on Angel. Please take a look if you are unfamiliar with Matlab or the image toolbox. I have posted Homework on Angel. It

More information

IMAGE PROCESSING: AREA OPERATIONS (FILTERING)

IMAGE PROCESSING: AREA OPERATIONS (FILTERING) IMAGE PROCESSING: AREA OPERATIONS (FILTERING) N. C. State University CSC557 Multimedia Computing and Networking Fall 2001 Lecture # 13 IMAGE PROCESSING: AREA OPERATIONS (FILTERING) N. C. State University

More information

Understanding Digital Signal Processing

Understanding Digital Signal Processing Understanding Digital Signal Processing Richard G. Lyons PRENTICE HALL PTR PRENTICE HALL Professional Technical Reference Upper Saddle River, New Jersey 07458 www.photr,com Contents Preface xi 1 DISCRETE

More information

Lecture 3: Linear Filters

Lecture 3: Linear Filters Signal Denoising Lecture 3: Linear Filters Math 490 Prof. Todd Wittman The Citadel Suppose we have a noisy 1D signal f(x). For example, it could represent a company's stock price over time. In order to

More information

Digital Image Processing. Digital Image Fundamentals II 12 th June, 2017

Digital Image Processing. Digital Image Fundamentals II 12 th June, 2017 Digital Image Processing Digital Image Fundamentals II 12 th June, 2017 Image Enhancement Image Enhancement Types of Image Enhancement Operations Neighborhood Operations on Images Spatial Filtering Filtering

More information

Tonemapping and bilateral filtering

Tonemapping and bilateral filtering Tonemapping and bilateral filtering http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2018, Lecture 6 Course announcements Homework 2 is out. - Due September

More information

Aliasing and Antialiasing. What is Aliasing? What is Aliasing? What is Aliasing?

Aliasing and Antialiasing. What is Aliasing? What is Aliasing? What is Aliasing? What is Aliasing? Errors and Artifacts arising during rendering, due to the conversion from a continuously defined illumination field to a discrete raster grid of pixels 1 2 What is Aliasing? What is Aliasing?

More information

CoE4TN4 Image Processing. Chapter 3: Intensity Transformation and Spatial Filtering

CoE4TN4 Image Processing. Chapter 3: Intensity Transformation and Spatial Filtering CoE4TN4 Image Processing Chapter 3: Intensity Transformation and Spatial Filtering Image Enhancement Enhancement techniques: to process an image so that the result is more suitable than the original image

More information

Fourier Transform. Any signal can be expressed as a linear combination of a bunch of sine gratings of different frequency Amplitude Phase

Fourier Transform. Any signal can be expressed as a linear combination of a bunch of sine gratings of different frequency Amplitude Phase Fourier Transform Fourier Transform Any signal can be expressed as a linear combination of a bunch of sine gratings of different frequency Amplitude Phase 2 1 3 3 3 1 sin 3 3 1 3 sin 3 1 sin 5 5 1 3 sin

More information

CoE4TN4 Image Processing. Chapter 4 Filtering in the Frequency Domain

CoE4TN4 Image Processing. Chapter 4 Filtering in the Frequency Domain CoE4TN4 Image Processing Chapter 4 Filtering in the Frequency Domain Fourier Transform Sections 4.1 to 4.5 will be done on the board 2 2D Fourier Transform 3 2D Sampling and Aliasing 4 2D Sampling and

More information

Midterm Examination CS 534: Computational Photography

Midterm Examination CS 534: Computational Photography Midterm Examination CS 534: Computational Photography November 3, 2015 NAME: SOLUTIONS Problem Score Max Score 1 8 2 8 3 9 4 4 5 3 6 4 7 6 8 13 9 7 10 4 11 7 12 10 13 9 14 8 Total 100 1 1. [8] What are

More information

Chapter 3 Image Enhancement in the Spatial Domain. Chapter 3 Image Enhancement in the Spatial Domain

Chapter 3 Image Enhancement in the Spatial Domain. Chapter 3 Image Enhancement in the Spatial Domain It makes all the difference whether one sees darkness through the light or brightness through the shadows. - David Lindsay 3.1 Background 76 3.2 Some Basic Gray Level Transformations 78 3.3 Histogram Processing

More information

Image Enhancement in the Spatial Domain Low and High Pass Filtering

Image Enhancement in the Spatial Domain Low and High Pass Filtering Image Enhancement in the Spatial Domain Low and High Pass Filtering Topics Low Pass Filtering Averaging Median Filter High Pass Filtering Edge Detection Line Detection Low Pass Filtering Low pass filters

More information

Table of contents. Vision industrielle 2002/2003. Local and semi-local smoothing. Linear noise filtering: example. Convolution: introduction

Table of contents. Vision industrielle 2002/2003. Local and semi-local smoothing. Linear noise filtering: example. Convolution: introduction Table of contents Vision industrielle 2002/2003 Session - Image Processing Département Génie Productique INSA de Lyon Christian Wolf wolf@rfv.insa-lyon.fr Introduction Motivation, human vision, history,

More information

Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering

Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering Image Processing Intensity Transformations Chapter 3 Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering INEL 5327 ECE, UPRM Intensity Transformations 1 Overview Background Basic intensity

More information

8.2 IMAGE PROCESSING VERSUS IMAGE ANALYSIS Image processing: The collection of routines and

8.2 IMAGE PROCESSING VERSUS IMAGE ANALYSIS Image processing: The collection of routines and 8.1 INTRODUCTION In this chapter, we will study and discuss some fundamental techniques for image processing and image analysis, with a few examples of routines developed for certain purposes. 8.2 IMAGE

More information

The Fourier Transform

The Fourier Transform The Fourier Transform Introduction to Digital Signal Processing (886457) 6 1 / 56 Contents Introduction Fourier Transforms One-dimensional DFT Two-dimensional DFT Fourier Transforms Function in Octave

More information

Image Enhancement. DD2423 Image Analysis and Computer Vision. Computational Vision and Active Perception School of Computer Science and Communication

Image Enhancement. DD2423 Image Analysis and Computer Vision. Computational Vision and Active Perception School of Computer Science and Communication Image Enhancement DD2423 Image Analysis and Computer Vision Mårten Björkman Computational Vision and Active Perception School of Computer Science and Communication November 15, 2013 Mårten Björkman (CVAP)

More information

Image Processing Computer Graphics I Lecture 20. Display Color Models Filters Dithering Image Compression

Image Processing Computer Graphics I Lecture 20. Display Color Models Filters Dithering Image Compression 15-462 Computer Graphics I Lecture 2 Image Processing April 18, 22 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/ Display Color Models Filters Dithering Image Compression

More information

Computing for Engineers in Python

Computing for Engineers in Python Computing for Engineers in Python Lecture 10: Signal (Image) Processing Autumn 2011-12 Some slides incorporated from Benny Chor s course 1 Lecture 9: Highlights Sorting, searching and time complexity Preprocessing

More information

Image Scaling. This image is too big to fit on the screen. How can we reduce it? How to generate a halfsized

Image Scaling. This image is too big to fit on the screen. How can we reduce it? How to generate a halfsized Resampling Image Scaling This image is too big to fit on the screen. How can we reduce it? How to generate a halfsized version? Image sub-sampling 1/8 1/4 Throw away every other row and column to create

More information

CS 111: Programing Assignment 2

CS 111: Programing Assignment 2 CS 111: Programing Assignment 2 This programming assignment is focused on filtering in the spatial domain. You will write some functions to create filter kernel, and apply the filter on input images. Then,

More information

CAP 5415 Computer Vision. Marshall Tappen Fall Lecture 1

CAP 5415 Computer Vision. Marshall Tappen Fall Lecture 1 CAP 5415 Computer Vision Marshall Tappen Fall 21 Lecture 1 Welcome! About Me Interested in Machine Vision and Machine Learning Happy to chat with you at almost any time May want to e-mail me first Office

More information

Image Interpolation. Image Processing

Image Interpolation. Image Processing Image Interpolation Image Processing Brent M. Dingle, Ph.D. 2015 Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout public domain image from

More information

Color Space 1: RGB Color Space. Color Space 2: HSV. RGB Cube Easy for devices But not perceptual Where do the grays live? Where is hue and saturation?

Color Space 1: RGB Color Space. Color Space 2: HSV. RGB Cube Easy for devices But not perceptual Where do the grays live? Where is hue and saturation? Color Space : RGB Color Space Color Space 2: HSV RGB Cube Easy for devices But not perceptual Where do the grays live? Where is hue and saturation? Hue, Saturation, Value (Intensity) RBG cube on its vertex

More information

TDI2131 Digital Image Processing

TDI2131 Digital Image Processing TDI131 Digital Image Processing Frequency Domain Filtering Lecture 6 John See Faculty of Information Technology Multimedia University Some portions of content adapted from Zhu Liu, AT&T Labs. Most figures

More information

Filip Malmberg 1TD396 fall 2018 Today s lecture

Filip Malmberg 1TD396 fall 2018 Today s lecture Today s lecture Local neighbourhood processing Convolution smoothing an image sharpening an image And more What is it? What is it useful for? How can I compute it? Removing uncorrelated noise from an image

More information

CSC 320 H1S CSC320 Exam Study Guide (Last updated: April 2, 2015) Winter 2015

CSC 320 H1S CSC320 Exam Study Guide (Last updated: April 2, 2015) Winter 2015 Question 1. Suppose you have an image I that contains an image of a left eye (the image is detailed enough that it makes a difference that it s the left eye). Write pseudocode to find other left eyes in

More information