CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection...
Transcript of CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection...
![Page 1: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/1.jpg)
CS559: Computer Graphics
Lecture 6: Painterly Rendering and Edges
Li Zhang
Spring 2008
![Page 2: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/2.jpg)
So far
• Image formation: eyes and cameras
• Image sampling and reconstruction
• Image resampling and filtering
![Page 3: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/3.jpg)
Today
• Painterly rendering
• Reading– Hertzmann, Painterly Rendering with Curved Brush Strokes of Multiple Sizes,
SIGGRAPH 1998, section 2.1 (required), others (optional)
– Doug DeCarlo, Anthony Santella. Stylization and Abstraction of Photographs In SIGGRAPH 2002, pp. 769‐776. (optional)
– Edge Detection Tutorial (recommended but optional)
![Page 4: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/4.jpg)
Painterly Filters
• Many methods have been proposed to make a photo look like a painting– A.k.a. Non‐photorealistic Rendering
• Today we look at one: Painterly‐Rendering with Brushes of Multiple Sizes
• Basic ideas:
– Build painting one layer at a time, from biggest to smallest brushes
– At each layer, add detail missing from previous layer
![Page 5: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/5.jpg)
Canvas
Blurred inputInput photo
Brush shape
![Page 6: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/6.jpg)
Canvas
Blurred inputInput photo
Brush shape
![Page 7: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/7.jpg)
Canvas
Input photo Blurred input
Brush shape
![Page 8: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/8.jpg)
Canvas
Input photo Blurred input
Brush shape
![Page 9: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/9.jpg)
Canvas
Input photo Blurred input
Brush shape
![Page 10: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/10.jpg)
Canvas (2nd iteration)
Input photo Blurred input
Brush shape
Canvas (1st iteration)
![Page 11: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/11.jpg)
Canvas (2nd iteration)
Input photo Blurred input
Brush shape
![Page 12: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/12.jpg)
Canvas (3rd iteration)
Input photo Blurred input
Brush shape
![Page 13: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/13.jpg)
Iteration 1
Iteration 2 Iteration 3
Brush shape
![Page 14: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/14.jpg)
How to blur an image?
• Continuous Gaussian Filter
• Discrete Gaussian Filter
• Binomial Filter– B1= [1, 1]/2
– B2= B1*B1=[1,2,1]/4
– B3= B2*B1=[1,3,3,1]/8
– B4= B3*B1=[1,4,6,4,1]/16
– …
– Bn=Bn‐1*B1
2
2
2
21);( σ
σπσ
x
exGauss−
=
n=50
n=10
∑−=
=
−∈
=
N
Ni
iGaussZ
NNi
iGaussZ
iG
);(
],,[
),;(1)(
σ
σσ
![Page 15: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/15.jpg)
Image Filter Near Boundaries
1 3 9 4 5 8 8 1 3 7
0.25 0.5 0.25
?
*
=
• Zero padding• Replication• Reflection
![Page 16: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/16.jpg)
Image Filter Near Boundaries
1 3 9 4 5 8 8 1 3 7
0 0.5 0.25
?
*
=
• Zero padding• Replication• Reflection• Kernel Renormalization
/ 0.75
![Page 17: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/17.jpg)
Image Patch Difference
221
221
221, )()()( bbggrrD ji −+−+−=
Patch 2Patch 1
i
j j
i
![Page 18: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/18.jpg)
Algorithm (outer loop)
function paint(sourceImage,R1 ... Rn) // take source and several brush sizes{
canvas := a new constant color image// paint the canvas with decreasing sized brushesfor each brush radius Ri, from largest to smallest do{
// Apply Gaussian smoothing with a filter of size fσRi// Brush is intended to catch features at this scalereferenceImage = sourceImage * G(fσRi)// Paint a layerpaintLayer(canvas, referenceImage, Ri)
}return canvas
}
![Page 19: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/19.jpg)
Algorithm (inner loop)
procedure paintLayer(canvas,referenceImage, R) // Add a layer of strokes{
S := a new set of strokes, initially emptyD := difference(canvas,referenceImage) // euclidean distance at every pixelfor x=0 to imageWidth stepsize grid do // step in size fgR that depends on
brush radiusfor y=0 to imageHeight stepsize grid do {
// sum the error near (x,y)M := the region (x-grid/2..x+grid/2, y-grid/2..y+grid/2)areaError := sum(Di,j for i,j in M) / grid2
if (areaError > T) then {// find the largest error point(x1,y1) := max Di,j in M s :=makeStroke(R,x1,y1,referenceImage)add s to S
}}
paint all strokes in S on the canvas, in random order}
![Page 20: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/20.jpg)
Results in the paper
Original Biggest brush
Medium brush added Finest brush added
![Page 21: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/21.jpg)
fσ and fg• Gauss sigma = fσ ∙ brush radius
– Or use binomial filter of length 2 ∙ brush radius + 1
• Grid size = fg ∙ brush radius– Default fg = 1
• Trying different parameters are optional
![Page 22: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/22.jpg)
Changing Parameters
![Page 23: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/23.jpg)
Changing Parameters
Impressionist, normal painting style Expressionist, elongated stroke
Colorist wash, semitransparent stroke with color jitter Densely‐placed circles with random hue and saturation
![Page 24: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/24.jpg)
Changing Parameters
![Page 25: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/25.jpg)
Changing Parameters
Impressionist, normal painting style Expressionist, elongated stroke
Colorist wash, semitransparent stroke with color jitter Densely‐placed circles with random hue and saturation
![Page 26: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/26.jpg)
Changing Parameters
![Page 27: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/27.jpg)
Changing Parameters
Impressionist, normal painting style Expressionist, elongated stroke
Colorist wash, semitransparent stroke with color jitter Densely‐placed circles with random hue and saturation
![Page 28: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/28.jpg)
Changing Parameters
![Page 29: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/29.jpg)
Changing Parameters
Impressionist, normal painting style Expressionist, elongated stroke
Colorist wash, semitransparent stroke with color jitter Densely‐placed circles with random hue and saturation
![Page 30: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/30.jpg)
Changing Parameters
![Page 31: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/31.jpg)
Changing Parameters
Impressionist, normal painting style Expressionist, elongated stroke
Colorist wash, semitransparent stroke with color jitter Densely‐placed circles with random hue and saturation
![Page 32: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/32.jpg)
Style Interpolation
Average style
Colorist wash, semitransparent stroke with color jitter Densely‐placed circles with random hue and saturation
?http://mrl.nyu.edu/projects/npr/painterly/
![Page 33: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/33.jpg)
Another type of painterly rendering
• Line Drawing
http://www.cs.rutgers.edu/~decarlo/abstract.html
![Page 34: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/34.jpg)
Another type of painterly rendering
• Line Drawing
http://www.cs.rutgers.edu/~decarlo/abstract.html
![Page 35: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/35.jpg)
Another type of painterly rendering
• Line Drawing
http://www.cs.rutgers.edu/~decarlo/abstract.html
![Page 36: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/36.jpg)
Another type of painterly rendering
• Line Drawing
http://www.cs.rutgers.edu/~decarlo/abstract.html
![Page 37: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/37.jpg)
Edge Detection
• Convert a 2D image into a set of curves– Extracts salient features of the scene
![Page 38: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/38.jpg)
Edge detection• One of the most important uses of image processing is edge detection:– Really easy for humans
– Really difficult for computers
– Fundamental in computer vision
– Important in many graphics applications
![Page 39: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/39.jpg)
What is an edge?
• Q: How might you detect an edge in 1D?
![Page 40: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/40.jpg)
Gradients• The gradient is the 2D equivalent of the derivative:
• Properties of the gradient– It’s a vector
– Points in the direction of maximum increase of f– Magnitude is rate of increase
• How can we approximate the gradient in a discrete image?
( , ) ,f ff x yx y
⎛ ⎞∂ ∂∇ = ⎜ ⎟⎝ ∂ ∂ ⎠
gx[i,j] = f[i+1,j] – f[i,j] and gy[i,j]=f[i,j+1]‐f[i,j]Can write as mask [‐1 1] and [1 –1]’
![Page 41: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/41.jpg)
Less than ideal edges
![Page 42: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/42.jpg)
Results of Sobel edge detection
![Page 43: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/43.jpg)
Edge enhancement• A popular gradient magnitude computation is the Sobel operator:
• We can then compute the magnitude of the vector (sx, sy).
1 0 12 0 21 0 1
1 2 10 0 0
1 2 1
x
y
s
s
−⎡ ⎤⎢ ⎥= −⎢ ⎥⎢ ⎥−⎣ ⎦
⎡ ⎤⎢ ⎥= ⎢ ⎥⎢ ⎥− − −⎣ ⎦
![Page 44: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/44.jpg)
Results of Sobel edge detection
![Page 45: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/45.jpg)
Non‐maximum Suppression
• Check if pixel is local maximum along gradient direction– requires checking interpolated pixels p and r
The Canny Edge Detector
![Page 46: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/46.jpg)
Results of Sobel edge detection
![Page 47: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/47.jpg)
Steps in edge detection• Edge detection algorithms typically proceed in three or four steps:– Filtering: cut down on noise
– Enhancement: amplify the difference between edges and non‐edges
– Detection: use a threshold operation
– Localization (optional): estimate geometry of edges, which generally pass between pixels
![Page 48: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/48.jpg)
The Canny Edge Detector
original image (Lena)
![Page 49: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/49.jpg)
The Canny Edge Detector
magnitude of the gradient
![Page 50: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/50.jpg)
The Canny Edge Detector
After non-maximum suppression
![Page 51: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/51.jpg)
Canny Edge Detector
Canny with Canny with original
• The choice of depends on desired behavior– large detects large scale edges– small detects fine features
: Gaussian filter parameter
![Page 52: CS559: Computer Graphicspages.cs.wisc.edu/.../02-04-painter/02-04-painter.pdf• Edge detection algorithms typically proceed in three or four steps: – Filtering: cut down on noise](https://reader033.fdocuments.us/reader033/viewer/2022042311/5eda06a04e02a025e73dadba/html5/thumbnails/52.jpg)