Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Analyse von Fourier-transformiertem Bild (https://www.delphipraxis.net/69023-analyse-von-fourier-transformiertem-bild.html)

Jan 9. Mai 2006 11:54


Analyse von Fourier-transformiertem Bild
 
Hallo Dpler,

das ist zwar jetzt nicht unbedingt eine Programmierfrage, aber es ist eine Fragestellung aus meinem Bildverarbeitungsfach, daher hab ichs mal zu Multimedia gepackt.
Es geht um Fouriertransformation, undzwar soll ich eine Fouriertransformation auf einem Bild ausführen und den Mittelpunkt zentrieren.
Das habe ich jetzt gemacht und nun soll ich die Amplitude und die Phase des resultierenden Bildes errechnen.
Und da wir so gut wie keinerlei Hilfestellung kriegen und ich auch im Internet nicht so richtig fündig werde, dachte ich mir, dass hier bestimmt jemand eine Antwort darauf weiß. Eine Quelle, wo ich mir das anlesen könnte würde ja schon reichen.
Wir programmieren das übrigens alles in Matlab, aber im Grunde brauche ich nur einen generellen Lösungsansatz.

Gruß
Jan

shmia 9. Mai 2006 12:31

Re: Analyse von Fourier-transformiertem Bild
 
Die Fouriertransformation eines Bildes ergibt ein 2-dimensionales Array mit komplexen Zahlen.
In Dephi sähe das so aus:
Delphi-Quellcode:
TComplex = record
   real, imag : double;
end;
TTransformedImage = array[0..xmax, 0..ymax] of TComplex;
die Amplitude ist SQRT(real*real+imag*imag) (Phytagoras)
und die Phase errechnet sich wie folgt:
http://de.wikipedia.org/wiki/Komplex..._zur_Polarform

Matlab hat dafür garantiert eingebaute Funktionen.

Jan 9. Mai 2006 15:31

Re: Analyse von Fourier-transformiertem Bild
 
Hallo shmia,

danke für deine Antwort!
Also wie man die Amplitude und Phase der Komplexen Zahl berechnet ist mir schon klar, aber es geht hier ja um ein Bild, und ich komm nicht mit der Fragestellung klar, weil das Bild besteht ja aus vielen komplexen Zahlen.
Also was soll ich da jetzt machen, wenn ich die Amplitude des transformierten Bildes errechnen soll?
Die Befehle in Matlab hab ich mir dazu jetzt auch rausgesucht, und nun?

Gruß

shmia 9. Mai 2006 16:17

Re: Analyse von Fourier-transformiertem Bild
 
Ich würde für jeden Punkt die Amplitude errechnen und in einem 2-dim Array ablegen.
Dann dieses Amplitudenarray visualisieren:
Maximalwert und Minimalwert ermitteln.
Dieser Wertebereich wird dann wieder in eine Farbe umgesetzt (minwert=Schwarz bis maxwert=weiss)
und daraus wird wieder ein Bild gezeichnet.
Man kann es aber auch als 3D Gittermodel zeichnen.
http://mukiken.eng.niigata-u.ac.jp/fourier-5-2.jpg

Jan 9. Mai 2006 18:21

Re: Analyse von Fourier-transformiertem Bild
 
Ich denke mal, so wirds richtig sein.
In 3D sehen die Werte allerdings plöd aus, weil sie zu schnell zu stark variieren, daher habe ich sie nur als 2D-Bild ausgegeben.
Dankeschön!

-Jan-


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz