Estimation

Background

The goal of this tutorial is to show how SLIMpy can be used in the process of estimating the image gradient orientations (direction of edges in an image) using the linear structure tensor so that the estimates are robust to added noise.

The structure tensor T of an image I is defined to be the outer product of the image gradient vector with itself:

\[ \textbf{T} = \left(\begin{array}{c}I_x \\I_y\end{array}\right) \left(\begin{array}{cc}I_x & I_y\end{array}\right)=\left(\begin{array}{cc}I_x^2 & I_xI_y\\I_xI_y&I_y^2\end{array}\right) \]

Then this structure tensor is blurred with an averaging filter A to form the linear structure tensor L:

\[ \textbf{L} = A \ast T \]

Finally, the robust-to-noise gradient direction can be computed by finding the eigenvector corresponding to the larger eigenvalue of the 2x2 matrix L.

This tutorial will do the above computation of the gradient direction using three SLIMpy linear operators - one that adds noise to the original image, another which takes averages across the image in local windows, and the third which finds a preliminary estimate to the gradient direction using a special 3x3 filter.


Generated on Sun Aug 10 09:11:08 2008 for SLIMpy by  doxygen 1.5.6