Re: Convolution in frequency (Fourier) space
- From: "pixel.to.life" <pixel.to.life@xxxxxxxxx>
- Date: 12 Apr 2007 23:05:55 -0700
Harris is correct. The equivalent of convolution with a function in
spatial domain is a multiplication with the FT of the same function in
the frequency domain. What are the characeristics of the spatial
domain kernel you mention?
If the transformation from spatial to frequency back to spatial domain
is lossless, you shouldnt see any differences when processing the
image in blocks or as a whole.
Have you tried to compress an image by breaking it into blocks, then
doing a tranform to frequency domain, and then stripping off low
frequency components?
You might have seen block-artifacts in some compressed images with
very high compression ratio using this method. That is the lossy
method...low frequency details lost in frequency domain operations.
Again, the best way to understand is to implement it yourself... with
a couple of different kernels. Good luck!
HTH...
On Mar 26, 9:24 pm, Harris <xgeorg...@xxxxxxxxxxxxx> wrote:
Markus Mayer <newsgr...@xxxxxxx> wrote innews:eu8jlv$vn1$1@xxxxxxxxxxxxxxxxxx:
Just a short question:
Given a matrix with spatial information, i.e. a photographic image. If I
split the matrix into several square blocks, Fourier transform them,
convolve each of the resulting matrices with a given kernel (in
frequency domain) and then inverse transform all blocks - would the
(combined) result be the same as if I had transformed, convolved and
inverse transformed the whole image as one?
Regards,
Markus
Convolution in the spatial domain is equivalent to multiplication (vector dot product) in the frequency
(FFT) domain. In the second case, you have to FFT the filter kernel too before you do anything.
Convolution of an arbitrary kernel h(n) with the FFT of data X(w) is like filtering the source with a filter
that has an impulse response equal to the the mirror-inverse IFFT of this kernel, i.e.:
X(w)*h(w) = X(w).h(-w) = x(n).IFFT(h(-w))
Hence, it has nothing to do with the properties of this kernel in the spatial domain. In fact, an averaging
kernel in the spatial domain is a narrow-band lowpass filter, but when it is used "as-is" in the spectral
domain it essentially becomes a wide-band all-pass filter. If h(w) is not symmetric then the h(-w) filter
has the exact opposite effect, since the kernel is reversed due to the convolution (minus sign).
--
Harris
.
- Follow-Ups:
- Re: Convolution in frequency (Fourier) space
- From: Harris
- Re: Convolution in frequency (Fourier) space
- Prev by Date: Re: color texture segmentation
- Next by Date: Re: using a pixel shader for undistorting an image?
- Previous by thread: Average distance between points
- Next by thread: Re: Convolution in frequency (Fourier) space
- Index(es):
Relevant Pages
|