Re: Fast 2d convolution using FFTW
- From: "BlagooBlanaa" <BlagooBlanaa@xxxxxxxxxxxxxxxx>
- Date: Thu, 30 Mar 2006 13:21:49 +1000
if you know that the FT of a gaussian is a gaussian, then why do fft of
kernel?
just multiply the fft of image with invented gaussian in fourier domain,
then IFFT
all you are doing is lo pass filtering - so you are only selecting the low
frequency components of image right?
so you are selecting all fourier components a certain distance from origin
(dc spatial frequency), and throwing away rest, 'apodising' higher frequency
components so you don't get ringing...
what you need to work out is output from the FFTW program - where is origin?
also zero padding always stinks - you may have to smooth abrupt transistion
into zeros, otherwise get ringing convolved into image.
A trick for getting origin right is to premultiply with a comb (-1)^(x+y)...
(alternate the sign of each pixel, both horizontally and vertically) on both
sides of fft
good luck
.
- Follow-Ups:
- Re: Fast 2d convolution using FFTW
- From: pegels
- Re: Fast 2d convolution using FFTW
- References:
- Fast 2d convolution using FFTW
- From: pegels
- Fast 2d convolution using FFTW
- Prev by Date: Speech detection
- Next by Date: Re: Numerical differentiation : which way ?
- Previous by thread: Fast 2d convolution using FFTW
- Next by thread: Re: Fast 2d convolution using FFTW
- Index(es):
Relevant Pages
|
|