Re: 2dFFT & image processing
- To: mathgroup at smc.vnet.net
- Subject: [mg101596] Re: [mg101500] 2dFFT & image processing
- From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
- Date: Fri, 10 Jul 2009 23:22:34 -0400 (EDT)
- References: <200907090553.BAA16870@smc.vnet.net>
Hi, the fourier transformed image is *not* centered in the middle. So either you cut a way the edges or you center it before cutting the central region. img = ColorConvert[Import["https://ipanema.tictec.de/badische-z\ eitung/ipanema_images/21/4/!!PerformanceID_32-InfoTypeID_0-Para\ graphID_0!Yvonne%20Catterfeld%20003.clip0.png"], "Grayscale"]; {nx, ny} = ImageDimensions[img]; filter = Table[1 - Exp[-(x^2 + y^2)/70.], {y, -ny/2., ny/2. - 1}, {x, -nx/2., nx/2. - 1}]; fimg = RotateLeft[(RotateLeft[#1, nx/2] & ) /@ Fourier[ImageData[img]], ny/2]; result = InverseFourier[RotateRight[ (RotateRight[#1, nx/2] & ) /@ (fimg*filter), ny/2]]; Column[{img, ArrayPlot[Re[fimg], ColorFunction -> Hue, ColorFunctionScaling -> False], ArrayPlot[filter, ColorFunction -> GrayLevel], Image[Re[result]]}] Cheers Patrick On Thu, 2009-07-09 at 01:53 -0400, alexxx.magni at gmail.com wrote: > hi everybody, > I need to perform a high-pass filter on some images. > > I know I can get a high pass filter doing a convolution of the image > with a predefined kernel, but for various reasons (and my learning > too) I wanted to follow the sequence: > 1) fft > 2) cut away central region (with a smooth edge) > 3) fft again > > but, due to my ignorance, I'm unable to accomplish the process: > > given the image in a, I put: > > f = Fourier[a[[1]]]; > af = Abs@f; > Dimensions[f] > {500,500} > > and I can check the fft with Graphics[Raster[255*af/Max[af]]] > > I then create the "hole" and apply it to the fft and invert again: > > k = Table[1 - Exp[-(x^2 + y^2)/s], {x, -249, 250}, {y, -249, 250}] /. > s -> 1000.; > holed = af*k; > fholed = Abs[Fourier[holed]]; > > since the reconstructed image Graphics[Raster[255*fholed/Max[fholed]]] > is strongly fuzzed, whichever value I choose for the parameter s > above, I wanted to ask you if I completely misunderstood the process! > > thank you, > > > alessandro > > > >
- References:
- 2dFFT & image processing
- From: "alexxx.magni@gmail.com" <alexxx.magni@gmail.com>
- 2dFFT & image processing