PDA

View Full Version : [Frage] Fourier 5


leadpen
07-11-2003, 13:03
Hi!

Wie macht man die Rücktransformation? Durch IFFT?
Was meinen die mit dem Auschneiden?
Eine kleine Schritt-für-Schritt-Anleitung wär da ganz fein http://hades.gothic.at/iforum/images/smilies/smile.gif

lg,

leadpen

12gauge
07-11-2003, 13:32
Wir haben ein anderes Problem - wenn ich das geglättete Bild in den Ortsraum rücktransformiere, schaut es nicht identisch aus wie das Originale geglättete(gefaltete)

Was ist denn an diesem Code falsch?


I = zeros(256,256);
I(138:168, 138:158) = 1;
A=fftshift(fft2(I));
FG1=fspecial('gaussian', [3 3], 1.5);

B=conv2(A, FG1);

A1=log(abs(A));
B1=log(abs(B));

B2=ifft2(fftshift(B1));
C=conv2(I, FG1);

subplot(2,2,1), mesh(A1);
title('DFT des Originals');
subplot(2,2,2), mesh(B1);
title('DFT des Geglaetteten');
subplot(2,2,3), mesh(real(B));
title('Ruecktransformiertes Geglaettetes');
subplot(2,2,4), mesh(C);
title('Geglättetes Original');

buschti
07-11-2003, 14:16
in der doc zur image processing toolbox ist die korrekte vorgehensweise ziemlich gut beschrieben:
http://www.mathworks.com/access/helpdesk/help/toolbox/images/images.shtml beim punkt "applications of the fourier transform"
der trick ist eigentlich nur, das bild und den filter mit nullen aufzufüllen und diese dann nach der rücktransformation wieder rauszulöschen.

Filz
07-11-2003, 14:38
der trick ist eigentlich nur, das bild und den filter mit nullen aufzufüllen und diese dann nach der rücktransformation wieder rauszulöschen.
Rauslöschen musst du aber nur, wenn du die Matrizen nicht nach der Formel auf (M+P-1, N+Q-1) erweiterst, sondern aus Performance-Gründen auf die nächste Zweier-Potenz...

A = Bild ist M*N - Matrix
B = Filter ist P*Q - Matrix

Größe der "aufgeblasenen" Matrix = (M+P-1, N+Q-1) = (264,264)

Wenn du nur auf (264,264) erweiterst brauchst du nichts wegschneiden, wenn du auf (512,512) erweiterst musst du nach der Transformation den Bereich(1:264,1:264) ausschneiden.