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