Transformácie obrazu Gonzales, Woods: Digital Image Processing kapitola: Image transforms Fourierova transformácia Jean Baptiste Joseph Fourier (1768-1830) Akákoľvek funkcia f(x) môže byť vyjadrená ako vážený súčet sínusov a kosínusov Suma sínusov a kosínusov A sin(ωx+φ) Time and Frequency example : g(t) = sin(2πf t) + (1/3)sin(2π(3f) t) Time and Frequency example : g(t) = sin(2πf t) + (1/3)sin(2π(3f) t) = + Frequency Spectra example : g(t) = sin(2πf t) + (1/3)sin(2π(3f) t) = + Frequency Spectra Frequency Spectra = = + Frequency Spectra = = + Frequency Spectra = = + Frequency Spectra = = + Frequency Spectra = = + Frequency Spectra 1 = A sin(2 kt ) k 1 k Frequency Spectra FT: Just a change of basis M * f(x) = F(w) * . . . = IFT: Just a change of basis M-1 * F(w) = f(x) * . . . = Fourierova transformácia Ak f(x) je spojitá funkcia s reálnou premenou x, potom Fourierovou transformáciou F(x) je Inverznou Fourierovou transformáciou nazývame pár Fourierovej transformácie Fourier Transform f(x) Fourier Transform F(u) Pre každé u od 0 po inf, F(u) obsahuje amplitudu A and fázu odpovedajúceho sinusu Asin(ux A R(u ) 2 I (u ) 2 F(u) Inverse Fourier Transform I (u ) tan R(u ) 1 f(x) Definitions F(u) sú komplexne čísla: Magnitúda FT (spektrum): Fázový uhol FT: Reprezentácia pomocou magnitúdy a fázy: Power of f(x): P(u)=|F(u)|2= FT – je periodická s periódou N, to znamená, že na jej určenie stačí jedna perióda vo frekvenčnej oblasti. 2D Fourierova transformácia Fourierova transformáci je ľahko rozšíriteľná do 2D Príklad 2D funkcie Sinusoidové vzory sa zobrazia vo frekvenčnom spektre ako body. Nízke frekvencie sú pri strede a vysoké na okrajoch Sampling Theorem Continuous signal: f x x Shah function (Impulse train): sx s x Sampled function: x nx n 0 x x0 f s x f x sx f x x nx0 n Sampling Sampling and the Nyquist rate Pri vzorkovaní spojitej funkcie môže vzniknúť aliasing ak vzorkovacia frekvencia nie je dostatočne vysoká Vzorkovacia frekvencia musí byť taká vysoká aby zachytila aj tie najvyššie frekvencie obrazu Sampling and the Nyquist rate Predísť aliasingu: Vzorkovacia frekvencia > 2 * max frekvencia v obraze Treba viac ako 2 vzorky na periódu Minimálna vzorkovacia frekvencia sa nazýva Nyquist rate Diskrétna Fourierova transformácia Rozšírenie DFT do 2D Predpokladajme že f(x,y) je M x N. DFT Inverzná DFT: Filtre Vizualizácia DFT Väčšinou zobrazujeme |F(u,v)| Dynamický rozsah |F(u,v)| je obvykle veľmi vysoký Aplikujeme logaritmus: (c je konštanta) original image before scaling after scaling DFT Properties: (1) Separability The 2D DFT can be computed using 1D transforms only: Forward DFT: Inverse DFT: kernel is separable: e j 2 ( ux vy ) N e j 2 ( ux vy ) j 2 ( ) N N e DFT Properties: (1) Separability Rewrite F(u,v) as follows: Let’s set: Then: DFT Properties: (1) Separability How can we compute F(x,v)? ) N x DFT of rows of f(x,y) How can we compute F(u,v)? DFT of cols of F(x,v) DFT Properties: (1) Separability DFT Properties: (2) Periodicity The DFT and its inverse are periodic with period N DFT Properties: (3) Symmetry • If f(x,y) is real, then DFT Properties: (4) Translation f(x,y) F(u,v) • Translation is spatial domain: • Translation is frequency domain: ) N DFT Properties: (4) Translation DFT Properties: (4) Translation Warning: to show a full period, we need to translate the origin of the transform at u=N/2 (or at (N/2,N/2) in 2D) |F(u)| |F(u-N/2)| DFT Properties: (4) Translation To move F(u,v) at (N/2, N/2), take Using ) N DFT Properties: (4) Translation no translation after translation DFT Properties: (5) Rotation Otočením f(x,y) o uhol θ, sa otočí F(u,v) o ten istý uhol θ DFT Properties: (6) Addition/Multiplication but … DFT Properties: (7) Scale DFT Properties: (8) Average value Average: F(u,v) at u=0, v=0: So: Magnitude and Phase of DFT What is more important? magnitude phase Hint: use inverse DFT to reconstruct the image using magnitude or phase only information Magnitude and Phase of DFT Reconstructed image using magnitude only (i.e., magnitude determines the contribution of each component!) Reconstructed image using phase only (i.e., phase determines which components are present!) Magnitude and Phase of DFT Výpočtová náročnosť DFT discrete Fourier transform — DFT {f0, f1, ... , fN-1} – vstupná body {F0, F1, ... , FN-1} – výsledok Fourierovej transformácie Výpočet pomocou 2 cyklov – > zložitosť O(N2) Snaha zredukovať na O(Nlog2N) – > FFT Fast Fourier Transform - FFT Pre N=8 Rozdelíme na párne a nepárne členy Urobíme to isté vo zátvorkách Suma vo vnútorných zátvorkách je rovnaká pre n=0, 2, 4, 6 a pre n=1, 3, 5, 7 Takže máme 4 (zátvorky) x 2 súčtov na najnižšej úrovni Keďže n=1, 3, 5, 7 zodpovedá polovici periódy П a platí dostaneme 1 pre n=0, 2, 4, 6 a - 1 pre n=1, 3, 5, 7 V hranatých zátvorkách je perióda exponentu n=4 – > n=0, 4; n=1, 5; n=2, 6 a n=3, 7. Pre n=0, 4 factor je 1 pre n=2, 6 je to -1; pre n=1, 5 je -i a pre n=3, 7 je i. Takže máme 2 (zátvorky) x 4 súčtov na strednej úrovni Na najvyššej úrovni máme 1 sumu a periódu exponentu n=8 – > 1 x 8 súčtov Polovicu z nich môžeme vypočítať iba zmenou znamienka Na každej úrovni urobíme 8 operácií (n) Máme 3 = log 8 úrovne (log n) O( n log n ) FFT - algoritmus {f0, f1, f2, f3, f4, f5, f6, f7}→{f0, f4, f2, f6, f1, f5, f3, f7}. Prepare input data for summation — put them into convenient order; For every summation level: For every exponent factor of the half-period: Calculate factor; For every sum of this factor: Calculate product of the factor and the second term of the sum; Calculate sum; Poradie koeficientov pre FFT 0 000 000 000 0 1 001 010 100 4 2 010 100 010 2 3 011 110 110 6 4 100 001 001 1 5 101 011 101 5 6 110 101 011 3 7 111 111 111 7 Príklad pre N=16