$29
0. (Not to turn in, 0 pts) Use OpenCV or Matlab to compute the Sobel∇2 ∗edges of an image. In addition, compute the Marr- Hildreth edges (zero-crossings of ) for various values of σ. Try 1, 2, 4, 8, 16. Do you get closed contours?
1. (9 pts) Show that
a.
has Fourier Transform
. Hint: Write out the
F.T. and change variables.
( ⃗) = ( ⃗) × ( ⃗)
( ⃗)
= ( ⃗) ∗ ℎ( ⃗)
b.
In 1-D
has Fourier Transform
, assuming that
as
.
Hint:
Integrate by parts.
( )
( )→0
→ ±∞
( )/
c. In 2-D the Laplacian operator
2
2
+
2
has Fourier Transform
−| ⃗|
2
. Hint: Use
2
2
Part b. repeatedly and the fact that
.
∇ =
⃗ = � �
2. (9 pts) Ima Robot proposes an edge detector as follows:
Compute the Fourier Transform ( ⃗) of image
( ⃗).
Multiply
( ⃗) by 1
( ⃗)
= −
21
12| ⃗�|2 to form 1
( ⃗).
Multiply
( ⃗) by 2
( ⃗)
= −
21
22| ⃗|2to form 2
( ⃗).
Compute
3( ⃗)
=
2( ⃗)− 1( ⃗)
.
2
− 1
Compute ℎ3( ⃗) as the Inverse Fourier Transform of 3( ⃗).
Find zero-crossings of
ℎ3
( ⃗).
a.
Describe how
can be computed by a single convolution with some kernel
.
What is the
convolutional kernel
?
( ⃗)
ℎ3( ⃗)
( ⃗)
( ⃗) = 1
3( �⃗) = 3( )
=
3( ⃗)
3( ⃗)
b.
show a slice through 3.
√ 2 + 2
is
If
, that is, the image has a “flat” spectrum, sketch
. Because
rotationally symmetric, that is,
( ⃗)
, where
, you only need to
c.
As
2
→ 1
2 → 1
ℎ3
occur at edges?
, is this a good edge detector, that is, do zero-crossings of
Why or why not? Hint: Consider
as
.
3. (10 pts) Ima Robot proposes the following operators to detect diagonally oriented edges:
NE
NW
a.
How are these operators related to the Sobel H and V operators?
b. Suggest two different ways in which to combine the NW and NE operators into a single measure of edge strength. What are the relative strengths and weaknesses of each?
c. Express the NW operator as the convolution of two different 2×2 operators.
d. Show that |NW*I| + |NE*I| = Max(|H*I|,|V*I|)
4. (5 pts) Read Canny’s PAMI article on Computational Edge Detection, available on Canvas.
a. List the 3 criteria that his approach optimizes.
b. Explain the drawback of using the Differences of Boxes edge operator.