340 likes | 477 Views
Analyse fréquentielle. Cours 6.3. Passe-haut. Highpass filter Contrast (Sharpening) Exemple de filtres Idéal Butterworth Gaussien. Passe-haut. Exactement la fonction contraire des filtres passe-bas :. Filtre Passe-haut. Filtre Passe-bas. Passe-haut idéal 0|1.
E N D
Analyse fréquentielle Cours 6.3
Passe-haut • Highpass filter • Contrast (Sharpening) • Exemple de filtres • Idéal • Butterworth • Gaussien
Passe-haut • Exactement la fonction contraire des filtres passe-bas : Filtre Passe-haut Filtre Passe-bas
Passe-haut idéal 0|1 • Coupe toutes les basses fréquences après une distance D0 du centre • Distance du centre (M/2, N/2)
Passe-haut idéal 0|1 • D0est la fréquence de coupure (cutoff) 2-D Section radiale 3-D
Passe-haut idéal ½|1 • Coupe 1/2 basses fréquences après une distance D0 du centre • Distance du centre (M/2, N/2)
Passe-haut idéal ½|1 Rayon : 15, 30, et 80 pixels
Passe-haut idéal • Phénomène de réverbération (contour)
Passe-haut Butterworth • Coupe graduellement les basses fréquences selon la sélection de D0 et de l'exposant n
Passe-haut Butterworth D0 est choisie pour H(u,v) = 0.5
Passe-haut Butterworth D0 : 15, 30, et 80 pixels, n = 2
Passe-haut Butterworth • Phénomène de réverbération (contour)
Passe-haut Gaussien • Coupe graduellement les basses fréquences selon la sélection t
Passe-haut Gaussien H(u,v) = 0.607 quand D(u,v) = D0
Passe-haut Gaussien D0 : 15, 30, et 80 pixels
Passe-haut Gaussien • Aucun phénomène de réverbération (contour)
DFT et les dérivées • On multiplie l’image par la dérivée du filtre utilisé • Tout comme on fait une convolution d’une image avec la dérivée du filtre dans le domaine spatial
FFT • Implantation directe de la DFT • Beaucoup trop cher Améliorer les performances • Quelques propriétés de la DFT • Séparabilité • Découpage fréquentiel en base 2 • Découpage spatial en base 2 • Et pour la IFFT?
FFT : Séparabilité • La DFT2D revient à 2 DFT1D • DFT de l’image originale sur chaque ligne • DFT sur l’image précédente sur chaque colonne Transformation 1D sur les lignes Transformation 1D sur les colonnes
FFT1D : base 2 fréquentielle • Si on omet la constante, la DFT1D s’écrit • Si N est pair, la somme se découpe en deux moitiés
FFT1D : base 2 fréquentielle • Si l’on considère séparément les valeurs paires et impaires de k, la DFT1D de N points s’écrit en termes de 2 DFT1D de (N/2) points.
FFT1D : base 2 fréquentielle • Pour k=2k’ (k’=0..N/2-1) pair, on a • Ou encore
FFT1D : base 2 fréquentielle • Pour k=2k’+1 impair on a • Ou encore
FFT1D : Algorithme DIF function F = DIF( N, f ) % f est un tableau de taille N=2^p global T if N==1, F = f; else% calcule 2 sous transformations M = N/2; % taille des ss transformations for n = 0:M-1 % effectue les 2 ‘butinages’ fp(n+1) = f(n+1)+f(n+1+M); % ss ens pair fi(n+1) = (f(n+1)-f(n+1+M))*T(N,n); % ss ens impair end Fp = DIF(M,fp); % k pair Fi = DIF(M,fi); % k impair for k = 0:M-1 F(2*k+1) = Fp(k+1); % k pair F(2*k+2) = Fi(k+1); % k impair end end
FFT1D : base 2 spatiale • Si on omet la constante, la DFT1D s’écrit… toujours
FFT1D : base 2 spatiale • Si N est pair, la somme se découpe en deux moitiés • Où
FFT1D : Algorithme DIT function F = DIT( N, f ) % f est un tableau de taille N=2^p global T if N==1, F = f; else% calcul 2 ss transformations M = N/2; % taille des ss transformations for n = 0:M-1 fp(n+1) = f(2*n+1); % n pair fi(n+1) = f(2*(n+1)); % n impair end Fp = DIT(M,fp); % n pair Fi = DIT(M,fi); % n impair for k = 0:M-1 % effectue M DIT ‘butinage' x = Fi(k+1)*T(N,k); % tripatouillage des impairs F(k+1) = Fp(k+1)+x; % ss ens sup F(k+1+M) = Fp(k+1)-x; % ss ens inf end end
FFT1D : Algorithmes • Pour des raisons d’implantation DIT est majoritairement préféré à DIF