Traitement du signal et Applications cours 9 Master Technologies et Handicaps 1 ère année Philippe Foucher 1
Traitement du signal sous Scilab Scilab : Programmer en utilisant les fonctions. SIP Toolboxes: Boite à outils de traitement d images qui regroupe des fonctions spécifiques 2
Étude du code et des fonctions 3
Fonctions pour récupérer des données. Image: Image = imread( E:\repertoire1\nom.jpg ) nom.jpg Image Imagegris Imshow(Image); affichage de l image Im2gray(Image); change une image couleur en niveaux de gris 4
Différences entre: Image = imread( E:\repertoire1\nom.jpg ); Image = imread( E:\repertoire1\nom.jpg ) 5
Quelques fonctions graphiques xdel([0:5]) efface les fenêtres graphiques de 0:5. xset ( window, n) crée la fenêtre graphique n. plot2d (x,y) affiche un graphique avec les données x en abscisse et y en ordonnée. x et y doivent être de même taille. on peut directement utiliser plot2d(y) et un graphique affiche le vecteur y. 6
Ajout de bruit On peut ajouter du bruit aux images. Image_bruit=imnoise(image_gris,'gaussian',0,0.02); Salt & pepper: Ajout de bruit selon une certaine densité gaussien: Densité gaussienne Speckle: bruit multiplicatif 7
2 sortes de bruit Bruit additif (le plus souvent), noté n(x) g(x) = f(x) + n(x) en général, gaussien: probabilité que la valeur s écarte de la moyenne Bruit multiplicatif, noté m(x) g(x) = f(x)* m(x) Exemple: speckle 8
Problème. Image = signal en deux dimensions. Dans le cours, plutôt des signaux 1D. Extraction d un signal 1D Je prends une ligne du de l image Signal=Imagegris (38,:) 9
Signal 1D (sans bruit) 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 0 20 40 60 80 100 120 140 10
Signal 1D (Avec bruit) 1.2 1.0 0.8 0.6 0.4 0.2 0.0-0.2 0 20 40 60 80 100 120 140 11
Enlever le bruit On peut enlever le bruit en utilisant la Transformée de Fourier. Permet d enlever les hautes fréquences Problème: on lisse souvent le signal. 12
Signal lissé après filtrage par TF 1.2 1.0 0.8 0.6 0.4 0.2 0.0-0.2 0 20 40 60 80 100 120 140 13
fourier_signal=fft(signal); FFT: Fast Fourier Transform: algorithme rapide de Transformée de Fourier 14
FFT d un signal 1D (non bruité) 60 50 40 30 20 10 0-10 0 20 40 60 80 100 120 140 15
FFT d un signal 1D (bruité) 60 50 40 30 20 10 0-10 0 20 40 60 80 100 120 140 16
FFT d un signal 1D (bruité) 60 50 40 30 20 Fréquences facteur de bruit. Donc on enlève 10 0-10 0 20 40 60 80 100 120 140 17
FFT d un signal 1D (les hautes fréquence sont enlevées) 60 50 40 30 20 10 0-10 0 20 40 60 80 100 120 140 18
Ce type de filtre s appelle passe-bas, il laisse passer les basses fréquences. En fait les filtres sont basées sur des techniques appelées produits de convolution. 19
De façon mathématique Signal périodique (période T) = somme pondérée de signaux sinusoïdaux f ( t) = n= 0 [ a n cos 2πnt T + b n sin 2πnt T ] 1/T : fréquence fondamentale (on utilise souvent =2/T) n/t: harmonique a n et b n coefficients pondérateurs de Fourier 20
Exemples (1) Somme pondérée de deux signaux de fréquence f et 3f (H3) signal résultant (b): addition point par point des deux courbes de (a). 21
Exemples (2) Meilleure approximation d un Signal carré f(t): décomposition de la façons suivante f 1 1 1 ( t) = sin( ϖ t) + 0 cos( 2ϖ t) + sin(3ϖ t) + 0 cos( 4ϖ t) + sin(5ϖ t) +... + sin( 23ϖ t) 3 5 23 22
Analyse spectrale (1) Représentation des amplitudes des différentes harmoniques (n=1,3,5,7 23) d un signal analyse spectrale. 23
Remarque (1) les séries de Fourier sont une décomposition en cosinus et sinus, on utilise souvent la notation complexe: 2π int f ( t) = Fn exp( ) T n= Avec F n =(a n +ib n )/2 et F -n =(a n -ib n )/2 e ix = cos x + i sin x 24
Remarque (2) A partir de l équation précédente, les coefficients de Fourier se calculent de la façon suivante: T 1 2π int Fn = f ( t)exp( ) dt T T T / 2 / 2 Le nombre de descripteurs de Fourier calculés ainsi est en théorie infini 25
Interprétation Plus n est grand, plus les fonctions sinusoïdales varient rapidement. une fonction lisse (c.a.d qui ne varient pas beaucoup) aura des coefficients a n et b n qui prendront rapidement (hautes fréquences) des valeurs faibles une fonction très perturbée et très changeante (ou bruitée) auront des composantes importantes dans les hautes fréquences. 26
Transformée de Fourier (1) Souvent fonctions non périodiques et non bornées, la transformée de Fourier permet de généraliser le concept de séries de Fourier à ce type de fonction: F ( υ π υ ) = f( t)exp( 2 i t) dt On peut noter le changement de variable = n/t, ce qui explique la disparition du facteur 1/T avant la somme. 27
Interprétation De façon peu rigoureuse, on pourrait considérer un signal analogique non périodique comme un signal dont la période tendrait vers l infini, la fréquence tendrait alors vers 0 (dν) et on obtient un spectre de Fourier continu appelé spectre de bande (et non un spectre de raies): 28
Exemple de spectre de bande 29
Vers la transformée de Fourier discrète En pratique, signal non borné: très rare! on définit une fenêtre d application [-T/2,T/2] Échantillonnage à une fréquence f telle que T=K/f F n = ( / 2) 1 1 K k = K / 2 K f K exp( 2πink K ) 30
Remarque Le signal numérique est décomposé en K segments. Le nombre total de coefficients de Fourier sera K. En traitement de signal, on utilise la FFT (Fast Fourier Transform) qui, sous certaines conditions, permet d accélérer le calcul 31
TF inverse A partir d un signal fréquentiel, on retrouve le signal initial (temporel ou spatial) par la transformée de Fourier inverse. On parle souvent d espace dual (temps/fréquence) 32
60 1.2 50 1.0 40 0.8 30 0.6 20 0.4 10 0-10 0 20 40 60 80 100 120 140 ifft 0.2 0.0-0.2 0 20 40 60 80 100 120 140 33
Des questions? 34