Traitement du signal et Applications cours 9
Transcription
Traitement du signal et Applications cours 9
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 Imshow(Image); Im2gray(Image); Image Imagegris affichage de l’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 2πnt 2πnt + bn sin ] f (t ) = [ a n cos T T n =0 ∞ 1/T : fréquence fondamentale (on utilise souvent =2 /T) n/T: harmonique an et bn 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 1 1 1 sin( 23ϖ t ) f (t ) = sin(ϖ t ) + 0 cos( 2ϖ t ) + sin( 3ϖ t ) + 0 cos( 4ϖ t ) + sin( 5ϖ 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 Fn=(an+ibn)/2 et F-n=(an-ibn)/2 eix = 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: 1 2π int Fn = f (t ) exp(− )dt T −T / 2 T T /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 an et bn 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 1 Fn = K ( K / 2 ) −1 k =− K / 2 2πink f K exp(− ) 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 1.2 60 1.0 50 0.8 40 0.6 30 0.4 20 0.2 10 ifft 0 0.0 -0.2 -10 0 0 20 40 60 80 100 120 20 40 60 80 100 120 140 140 33 Des questions ? 34