Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!usc!julius.cs.uiuc.edu!apple!bionet!agate!pasteur!miro.Berkeley.EDU!ph From: ph@miro.Berkeley.EDU (Paul Heckbert) Newsgroups: comp.graphics Subject: Re: Cleaning up frame-grabbed images: "Fourier plane"? Message-ID: <28315@pasteur.Berkeley.EDU> Date: 28 Sep 90 21:26:33 GMT References: <1990Sep27.085647.13944@ste.dyn.bae.co.uk> Sender: news@pasteur.Berkeley.EDU Reply-To: ph@miro.Berkeley.EDU (Paul Heckbert) Organization: University of California at Berkeley Lines: 52 In article <1990Sep27.085647.13944@ste.dyn.bae.co.uk>, adam@ste.dyn.bae.co.uk (Adam Curtin) writes: >My wife remembers from her physics undergraduate days that an image overlayed >with a grating could be optically processed to remove the grating... This sounds like "deconvolution". If you've got an image a(x,y) that's been convolved with a linear, space-invariant filter h(x,y) to arrive at another image b(x,y) then you can un-filter using the following approach. Convolution in the spatial domain corresponds to multiplication in the frequency domain: SPATIAL DOMAIN FREQUENCY DOMAIN b(x,y) = a(x,y) * h(x,y) B(wx,wy) = A(wx,wy) . H(wx,wy) a(x,y) = b(x,y) deconvolved with h(x,y) A(wx,wy) = B(wx,wy) / H(wx,wy) where '*' denotes convolution, '.' denotes multiplication (wx,wy) are x and y frequencies F(wx,wy) is the Fourier transform of f(x,y) So if you have the degraded image b, and the point spread function (impulse response) of the filter h, you take their Fourier transforms to compute B and H, divide the first by the second frequency-by-frequency, and then compute the inverse Fourier transform to compute a. This works assuming that you know the degradation filter h, that it's linear and shift-invariant, and that H is always nonzero, and that the noise is zero or small. There are more sophisticated methods that don't assume knowledge of h (called blind deconvolution) and methods that minimize the amplification of noise during deconvolution, but I don't know them well enough to describe them. As a starter book on image processing, try: Anil K. Jain, Fundamentals of Digital Image Processing Prentice Hall, Englewood Cliffs, NJ, 1989. I don't know how the optical method you mentioned would work, except that lenses effectively compute a Fourier transform. I don't know how you would do the division optically, however. Maybe other netters can answer that. Paul Heckbert, Computer Science Dept. 570 Evans Hall, UC Berkeley INTERNET: ph@miro.berkeley.edu Berkeley, CA 94720 UUCP: ucbvax!miro.berkeley.edu!ph