Morphological gradient

In mathematical morphology and digital image processing, a morphological gradient is the difference between the dilation and the erosion of a given image. It is an image where each pixel value (typically non-negative) indicates the contrast intensity in the close neighborhood of that pixel. It is useful for edge detection and segmentation applications.

Mathematical definition and types
Let $$f:E\mapsto R$$ be a grayscale image, mapping points from a Euclidean space or discrete grid E (such as R2 or Z2) into the real line. Let $$b(x)$$ be a grayscale structuring element. Usually, b is symmetric and has short-support, e.g.,
 * $$b(x)=\left\{\begin{array}{ll}0,&|x|\leq 1,\\-\infty,&\mbox{otherwise}\end{array}\right.$$.

Then, the morphological gradient of f is given by:


 * $$G(f)=f\oplus b-f\ominus b$$,

where $$\oplus$$ and $$\ominus$$ denote the dilation and the erosion, respectively.

An internal gradient is given by:


 * $$G_i(f)=f-f\ominus b$$,

and an external gradient is given by:


 * $$G_e(f)=f\oplus b-f$$.

The internal and external gradients are "thinner" than the gradient, but the gradient peaks are located on the edges, whereas the internal and external ones are located at each side of the edges. Notice that $$G_i+G_e=G$$.

If $$b(0)\geq 0$$, then all the three gradients have non-negative values at all pixels.