DFT D i 2D obrázkové připomenutí a trošku konvoluce Tomáš Svoboda Czech Technical University, Faculty of Electrical Engineering Center for Machine Perception, Prague, Czech Republic svoboda@cmp.felk.cvut.cz http://cmp.felk.cvut.cz/ svoboda Většina obrázků připravena za pomocí http://visionbook.felk.cvut.cz, []
= cos( 2πu ), = [,,..., 59], N = 6, N kolik je frekvence u? 2/35 spatial function 2 3 4 5
= cos( 2πu ), = [,,..., 59], N = 6, N kolik je frekvence u? 2/35 spatial function 2 3 4 5 Jak bude asi vypadat F (u)?
F (u) 3/35 DFT, F(u).4 F(u).3.2. 2 3 4 5 6 u OK, rozumíme F (3), ale co F (57)?
Integrální výpočet F (u) 4/35 F (u) = N N = cos ( 2πu N ) i sin ( 2πu N ). Přiložím harmonické funkce o frekvenci u, násobím s a integruji (sčítám) přes všechna.
ω = 2πu/N, u = 5/35 ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5
ω = 2πu/N, u = 6/35 ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5
ω = 2πu/N, u = 2 7/35 ω = 2π u/n; u = 2 cos(ω ) sin(ω ) 2 3 4 5
ω = 2πu/N, u = 3 8/35 ω = 2π u/n; u = 3 cos(ω ) sin(ω ) 2 3 4 5
ω = 2πu/N, u = 4 9/35 ω = 2π u/n; u = 4 cos(ω ) sin(ω ) 2 3 4 5
ω = 2πu/N, u = 56 /35 ω = 2π u/n; u = 56 cos(ω ) sin(ω ) 2 3 4 5 e
ω = 2πu/N, u = 57 /35 ω = 2π u/n; u = 57 cos(ω ) sin(ω ) 2 3 4 5
ω = 2πu/N, u = 58 2/35 ω = 2π u/n; u = 58 cos(ω ) sin(ω ) 2 3 4 5
ω = 2πu/N, u = 59 3/35 ω = 2π u/n; u = 59 cos(ω ) sin(ω ) 2 3 4 5
Diskrétní FT krok za krokem 4/35 Video: discrete FT step-by-step
Inverzní DFT krok za krokem 5/35 Video: inverse DFT step-by-step
Jednoduchá 2D funkce,... 6/35 range = :39; yrange = :29; [,y] = meshgrid(range,yrange); % 2D grid M = size(,2); N = size(y,); freq.signal. = 3; freq.signal.y = 5; % frequency in y-direction omega.signal. = 2*pi*freq.signal./M; omega.signal.y = 2*pi*freq.signal.y/N freq.noise. = 5; freq.noise.y = ; omega.noise. = 2*pi*freq.noise./M; omega.noise.y = 2*pi*freq.noise.y/N; f = cos( omega.signal.* ) + cos( omega.signal.y*y ); % carrier wave f = f +.*cos(omega.noise.*) +.*cos(omega.noise.y*y); % superpose har f = f + ; % make the mean value non zero
... a jeho Inverzní 2D DFT 7/35
Šikmá 2D vlna 8/35 range = :39; yrange = :29; [,y] = meshgrid(range,yrange); % 2D grid M = size(,2); N = size(y,); freq.signal. = 3; freq.signal.y = 5; omega.signal. = 2*pi*freq.signal./M; omega.signal.y = 2*pi*freq.signal.y/N freq.noise. = 5; freq.noise.y = ; omega.noise. = 2*pi*freq.noise./M; omega.noise.y = 2*pi*freq.noise.y/N; f = cos( omega.signal.* + omega.signal.y*y ); % carrier signal f = f +.*randn( size(data().f) ); % perturb by random noise
Příklad reálného obrázku... 9/35
... a jeho inverzní DFT 2/35
Obdélník o délce 2 2/35 spatial function.2 DFT, F(u) F(u)..5 2 3 4 5 2 3 4 5 6 u Jak souvisí pozice, se délkou obdélníkové funkce? Pro které frekvence u platí, že F (u) =?
F (u) obrázkově 22/35 ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5 Kolik je F (u)?
F (u) obrázkově 22/35 ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5 Kolik je F (u)? 2 6 =.2
F (u) obrázkově 23/35 ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5
F (u) obrázkově 24/35 ω = 2π u/n; u = 2 cos(ω ) sin(ω ) 2 3 4 5
F (u) obrázkově 25/35 ω = 2π u/n; u = 3 cos(ω ) sin(ω ) 2 3 4 5
F (u) obrázkově 26/35 ω = 2π u/n; u = 4 cos(ω ) sin(ω ) 2 3 4 5
F (u) obrázkově 27/35 ω = 2π u/n; u = 5 cos(ω ) sin(ω ) 2 3 4 5
F (u) obrázkově 27/35 ω = 2π u/n; u = 5 cos(ω ) sin(ω ) 2 3 4 5 Jak cos tak i sin se vysčítá do.
F (u) obrázkově 28/35 ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5
Délka obdélníkové funkce A 29/35 spatial function.2 DFT, F(u) F(u)..5 2 3 4 5 2 3 4 5 6 u A = N u, kde A je délka impulsu, N počet prvků a u je frekvence nejnižší harmonické pro kterou F (u) = Možná robustněji, délka A je rovna počtu opakování F (u).
2D Konvoluce, koncept shift multiply add 3/35
Rozmazání pohybem při snímání 3/35
Vznik obrazu v pohybu, krok 32/35 2 4 6 8 2 2 4 6 8 2
Vznik obrazu v pohybu, krok 2 33/35 2 4 6 8 2 2 4 6 8 2
Vznik obrazu v pohybu, krok 3 34/35 2 4 6 8 2 2 4 6 8 2
References 35/35 [] Tomáš Svoboda, Jan Kybic, and Hlaváč Václav. Image Processing, Analysis and Machine Vision A MATLAB Companion. Thomson, Toronto, Canada, st edition, September 27.
spatial function 2 3 4 5
DFT, F(u).4 F(u).3.2. 2 3 4 5 6 u
ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 2 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 3 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 4 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 56 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 57 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 58 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 59 cos(ω ) sin(ω ) 2 3 4 5
spatial function 2 3 4 5
.2 DFT, F(u) F(u)..5 2 3 4 5 6 u
ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 2 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 3 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 4 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = 5 cos(ω ) sin(ω ) 2 3 4 5
ω = 2π u/n; u = cos(ω ) sin(ω ) 2 3 4 5
spatial function 2 3 4 5
.2 DFT, F(u) F(u)..5 2 3 4 5 6 u
2 4 6 8 2 2 4 6 8 2
2 4 6 8 2 2 4 6 8 2
2 4 6 8 2 2 4 6 8 2