The underlying formulation of GVF is valid for gray-level images as well
as binary images. To compute GVF for gray-level images, the edge-map
function f(x,y) must first be calculated. Two possible choices for this
edge-map are
or
.
A motivation for applying some Gaussian filtering to the
underlying image is to reduce noise. Other more complicated
noise-removal techniques such as median filtering, morphological
filtering, and anisotropic diffusion could also be used to improve the
underlying edge map.
Given an edge-map function and an approximation to its gradient, GVF is
computed in the usual way using Equation (14).
Fig. 10a shows an image of the U-shape
object corrupted by additive white Gaussian noise, such that the
signal-to-noise
ratio is 6 dB. Fig. 10b shows an edge-map
computed using
f(x,y) = f2(x,y) with
pixels.
Fig. 10c shows the computed GVF. It is evident that
the stronger edge-map gradients are retained while the weaker gradients
are smoothed out. Superposed on the original image,
Fig. 10d shows a sequence of GVF snakes (plotted in a
shade of gray) and the GVF snake result (plotted in white).
The result shows
an excellent convergence to the boundary, despite the initialization from
far away and a concave boundary region.
Another demonstration of GVF applied to gray-scale imagery is shown in
Fig. 11. Fig. 11a shows a
magnetic resonance image (short-axis section) of the left ventrical of a
human heart. Fig. 11b shows an edge map computed
using
f(x,y) = f2(x,y) with
.
Fig. 11c shows the computed GVF, and
Fig. 11d shows a sequence of GVF snakes (plotted in a
shades of gray) and the GVF snake result (plotted in white), both plotted
on the original image. Clearly, many details on the endocardial border
are captured by the GVF snake result, including the papillary muscles
(the bumps that protrude into the cavity).