Ik was laatst begonnen met wat basic image analysis (plaatjes vergelijken, plaatjes blurren etc.) met PHP (softwarematige, pixel-per-pixel stuff dus). Uiteraard kom je dan vrij snel 'vast' te zitten, en het leek mij wel aardig om de Fourier Transform van een plaatje te berekenen. Enerzijds uit programmeur-technisch oogpunt, anderzijds uit ervaringen met Fourier / Laplace transformaties in mijn studie.
Ook wanneer je plaatjes echt kwalitatief wilt gaan vergelijken is een fourier getransformeerde van je originele plaatje meestal onontbeerlijk.
Nou, allemaal rozegeur en maneschijn: ik op zoek, en kwam vrij snel op de FFT (Fast Fourier Transform) uit, na eerst de pseudo-hard-core DFT (Discrete Fourier Transform) bekeken te hebben.
Beetje Googlen later:
2D FFT, wiskundig en een beetje C source code
DFT uitleg door Wolfram Research (goed!!)
Vooral die eerste link is zeer nice.
Dit is dus de FT van f (genaamd 'F') en de inverse FT (van 'F' terug naar 'f') (met om overklaarbare redenen een j i.p.v. een i als sqrt(-1)):

Hier is een 1D FFT gemaakt in PHP (wat ik dus ook wil doen):
http://www.mathewbinkley.org/fft.php
Impressive, maar niet leuk genoeg, ik wil een 2D en eventueel 3D versie produceren. Op dit moment zit ik nog in lees / nadenk fase, dus erg veel code kan ik nog niet laten zien.
Waar ik ook nog niet helemaal uit ben is hoe het imaginaire deel nou precies zijn rol gaat spelen als ik het wil programmeren... aangezien de input (een plaatje in mijn geval, met als waarde per punt/pixel 0-256) reeel is.
PS: Ik weet dat er downloadbare FTT C libraries / functies zijn, maarja, where's the fun in that en ik wil het dus per se in PHP gaan doen.
Ook wanneer je plaatjes echt kwalitatief wilt gaan vergelijken is een fourier getransformeerde van je originele plaatje meestal onontbeerlijk.
Nou, allemaal rozegeur en maneschijn: ik op zoek, en kwam vrij snel op de FFT (Fast Fourier Transform) uit, na eerst de pseudo-hard-core DFT (Discrete Fourier Transform) bekeken te hebben.
Beetje Googlen later:
2D FFT, wiskundig en een beetje C source code
DFT uitleg door Wolfram Research (goed!!)
Vooral die eerste link is zeer nice.
Dit is dus de FT van f (genaamd 'F') en de inverse FT (van 'F' terug naar 'f') (met om overklaarbare redenen een j i.p.v. een i als sqrt(-1)):

Hier is een 1D FFT gemaakt in PHP (wat ik dus ook wil doen):
http://www.mathewbinkley.org/fft.php
Impressive, maar niet leuk genoeg, ik wil een 2D en eventueel 3D versie produceren. Op dit moment zit ik nog in lees / nadenk fase, dus erg veel code kan ik nog niet laten zien.
Waar ik ook nog niet helemaal uit ben is hoe het imaginaire deel nou precies zijn rol gaat spelen als ik het wil programmeren... aangezien de input (een plaatje in mijn geval, met als waarde per punt/pixel 0-256) reeel is.
PS: Ik weet dat er downloadbare FTT C libraries / functies zijn, maarja, where's the fun in that en ik wil het dus per se in PHP gaan doen.
[ Voor 15% gewijzigd door Cavorka op 06-02-2004 19:34 ]
the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.