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).