Multimedia Systems & Interfaces Karrie G. Karahalios Spring 2007
Overview Filters Edge Detection Non Photo-realistic Rendering
Image Filtering Overview 29-Filtering.pdf 29-Filtering.pdf by Chris Wren
Spatial and Frequency Domains Spatial domain –refers to planar region of intensity values Frequency domain –think of each color plane as a sinusoidal function of changing intensity values –apply DFT to subsets of pixels for compression
Convolution Filters Filter an image by replacing each pixel in the source with a weighted sum of its neighbors Define the filter using a convolution mask, also referred to as a kernel –non-zero values in small neighborhood, typically centered around a central pixel –generally have odd number of rows/columns
Mean Filter Convolution filterSubset of image
Mean Filter Convolution filterSubset of image
Common 3x3 Filters Low/High pass filter Blur operator H/V Edge detector
Edge Detection Identify areas of strong intensity contrast –filter unecessary data; preserve important properties Fundamental technique –object recognition, orientation –image segmentation –e.g., use gestures as input –identify shapes, match to templates, invoke commands
Characteristics of Edges Identify high slope in first derivative Pixel is on an edge if value of the gradient exceeds a threshold
Basic Method Step 1: filter noise using mean filter Step 2: compute spatial gradient Step 3: mark points > threshold as edges
Compute Spatial Gradient Compute partials Compute gradient Compute length Divide by length
Compute Partials P3 – P1 + 2*P6 – 2*P4 + P9 – P7 P7 – P1 + 2*P8 – 2*P2 + P9 – P3
Mark Edge Points Given gradient at each pixel and threshold –mark pixels where gradient > threshold as edges Canny algorithm extends basic method
Compute Edge Direction Compute direction of maximum change
Apply Non-Max Suppression For each pixel –If G(x,y) < either neighbor along Normal direction, then set G(x,y) = 0 Suppress local change when larger change nearby –helps reduce false positives
Hysteresis Oscillation of gradient at threshold Use two thresholds –T1 and T2 with T2 > T1 Mark pixel as edge pixel if G(x,y) > T2 –keep pixels along normal direction with G(x,y) > T1