Fast Fourier Transforms and the GVX
Bruce Karsh
karsh at trifolium.esd.sgi.com
Mon Mar 5 20:16:18 AEST 1990
In article <1990Mar2.160357.10094 at hellgate.utah.edu> twolf%ug.utah.edu at cs.utah.edu (Tom Wolf) writes:
>Several of us have been trying to figure out what Fourier Transforms are used
>for in graphics processing? Any ideas?
Fourier transforms are used in image processing for a variety of reasons:
1) Fast convolution.
"Convolution" is a big fancy word for "weighted moving average".
In other words, each pixel value is replaced by the sum of the
nearby pixels multiplied by a weighting factor. I.e.,
--
P'[i,j] = \ W[m,n] * P[i-m,j-n]
/
--
m,n
Convolutions are used to blur images, sharpen images, enhance edges,
and lots of other things. The image processing literature is full
of info about this.
The calculation of a convolution as a sum of products is
computationally costly. Using the FFT method, described in almost
any book on signal processing is often much more efficient.
2) Digital filtering.
Digital filters are used for anti-aliasing images. The Fourier
Transform is sometimes used to design these filters.
3) Image compression.
Various schemes have been tried to reduce the number of bits required
to store an image by Fourier transforming an image and not storing all
of the coefficients. For instance, low frequency components and
small components may be discarded. Of course, this degrades the image
quality, but in some instances, it may be worth it.
4) Shift invariant representation.
The magnitude of the Fourier components of an image does not change
when the image is translated. (The phase of the components do,
however). For this reason, Fourier transforms are sometimes used to
match a possibly shifted image against a pattern image. If the
magnitude of the coefficients aren't approximately equal then the
image doesn't match the pattern.
Any others?
More information about the Comp.sys.sgi
mailing list