Re: spatial and frequency domain



On Mar 6, 8:33 am, "fulltime" <PiaoCh...@xxxxxxxxx> wrote:
On Mar 6, 1:05 pm, "fulltime" <PiaoCh...@xxxxxxxxx> wrote:





On Mar 6, 7:26 am, "ImageAnalyst" <imageanal...@xxxxxxxxxxxxxx> wrote:

fulltime:
You don't do convolution in the frequency domain. You do
multiplication. Roughly speaking, you can do the same operation
either (1) by convolving in the spatial domain, or (2) multiplying in
the frequency domain (multiplying the ft of the convolution kernel by
the ft of the scene). For very large images or complicated and
precise filtering, you'd multiply in the frequency domain and for
simple things like blurring and edge detection you do those in the
spatial domain via convolution. Periodic signals show up in the freq
domain as spikes. For example, a honeycomb pattern will appear as a
hexagonal array of spikes. You can multiply your spikes by zero to
remove the periodic signal (after inverse transforming, the periodic
appearance will be "gone"). (E.g. zero out the hexagon spikes and
inverse transform and you'll have a uniform image.)
Regards,
ImageAnalyst

Hi imageAnalyst,

Thank you for your reply.
How do u define large or complicated image?
and when u said "(2) multiplying in the frequency domain (multiplying
the ft of the convolution kernel by the ft of the scene).", does ft
of the convolution kernel refer to the FIR filter? do i need to
perform FT on my 2D FIR filter coefficients to perform multiplication
in the freq domain?

really appreciate your help so far. Thks.
FT

just had a passing thought, CONV of image in spatial domain is to move
the filter mask along the
entire image and compute the summation of weighted average from all
its neighbours. how abt multiplication in freq domain? Is it purely a
multiplication of 2 matrices (between the FT of the filter mask and FT
of the image)?

thks
FT- Hide quoted text -

- Show quoted text -


Fulltime,

In order to do the computations in teh freq. domain, you
1. Take the Fourier Transform (FT) of the image. This gives you a
matrix of complex numbers. Lets call it A with size (n times n).
2. Take the FT of the filter. This gives you another matrix of
complex numbers. Lets call it B with size ((again) n times n).
3. Multiply the two matrices A and B pointwize, not as a classical
matrix multiplication, but instead, by multiplying corresponding
entries of the two matrix. This way, you arrive at a matrix C (again
n times n in size).
4. Take an Inverse Fourier Transform (IFT), to get the filtered
image. Theoretically, the ertries of the resulted matrix are all
real, not complex numbers. In practice, however, you get complex
numbers with small imaginary parts. You can just eliminate the
imaginary parts. This will be the filtered image.

Tricks and computational decisions may be applied in:
1. Using Fast Fourier Transform (FFT) instead of traditional FT.
2. Tiling the original image, on order to deal with smaller matrices.

Good luck,
Soroush

.



Relevant Pages

  • Re: spatial and frequency domain
    ... You don't do convolution in the frequency domain. ... the frequency domain (multiplying the ft of the convolution kernel by ... I have designed a 1D FIR filter, ...
    (sci.image.processing)
  • Re: reconciling conv in time domain = multiplication in freq domain
    ... I'm not that experienced with DSP, but I understand that convolution in the ... time domain is equivalent to multiplication in the frequency domain. ... If I have 8 samples in the time domain and take an FFT, ... filter above, I end up with an 8 sample time-response for the filter. ...
    (comp.dsp)
  • Re: Implementing Gabor transform
    ... You use expas you would if you work in frequency domain, ... but apply a temporal convolution. ...   You do this with the 'conv' or 'filter' finctions, ...
    (comp.soft-sys.matlab)
  • Re: spatial and frequency domain
    ... You don't do convolution in the frequency domain. ... of the convolution kernel refer to the FIR filter? ... Take the Fourier Transform of the image. ...
    (sci.image.processing)
  • Re: image processing: FFT and low pass filtering
    ... > codes that take FFT(Fast fourier transform) of a 256X256 image then ... > filter in fruquency domain. ... Interprete this as the centre zeroed spatial frequency domain (i.e ... Using the centre zero as the origin simply construct ...
    (comp.soft-sys.matlab)