Edge Detection Flashcards
How might we detect vertical edges?
I’(x,y) = abs( I(x,y) - I(x+1,y) )
How might we detect horizontal edges?
I’(x,y) = abs( I(x,y) - I(x,y+1) )
How might we combine vertical and horizontal edge detection?
I’(x,y) = I_h(x,y) V I_v(x,y)
If a pixel is activated in either the horizontal or vertical image, activate that pixel in the output image.
OR
Take the city-block distance, so add the intensity’s in the horizontal and vertical edge detection.
OR
Use euclidean distance on the gradients
We can then threshold on these values, so that we only see strong gradients
What is the gradient of a pixel [ x1, y1]?
[ x2 - x1 ,
y2 - y1 ]
What is the difference between the Roberts and Prewitt edge detectors?
Prewitt’s is more resistant to noise
It locates the edge at the center pixel, whereas Roberts locates it between the pixels
Why does the Prewitt edge detector reduce noise?
[-1, -1, -1]
[0, 0, 0]
[-1,-1,-1]
This kernel is seperable into these two kernels:
[1,1,1]
and
[-1,0,1] .Transposed()
The [-1,0,1] does the actual edge detection, whereas the [1,1,1] kernel averages out the pixels thus reducing the noise?
How many unique directions can the canny edge detector classify a gradient as?
4
Horizontal,
Vertical,
and the two diagonals
What is non-maxima suppression?
This is when we try to thin out edges in a image
What are the steps involved in canny edge detection?
- Smooth the input
- Compute the gradient magnitude and direction images
- Apply non-maxima suppression to the magnitude image
- Use double thresholding and connectivity analysis to detect and link edges
Why is only one edge filter involved in Laplacian edge detection?
1 Kernel
Unlike Sobel and Prewitt, which both must use 2 kernels to detect edges (one for each direction, horizontal and vertical),
Laplacian can find edges in both directions using only one kernel