Vous êtes sur la page 1sur 14

Traitement dimages sous Matlab

EI3 anne 2009-2010 e

1 Acquisition dimages sous Matlab p. 3 2 Amlioration et restauration dimages p. 9 e 3 Morphologie mathmatique e p. 13

Vandenbroucke Nicolas

R11

1 Acquisition dimages sous Matlab

` Lobjectif de ce TP est de prendre en main les outils de traitement dimages les plus classiques a laide ` du logiciel Matlab. Matlab est un logiciel de calcul scientique permettant de d velopper des solutions a des e probl` mes techniques. Il permet de r aliser du calcul num rique et de tracer des graphiques pour visualiser e e e et analyser les donn es. Il dispose dun langage et dun environnement de programmation interactifs ainsi e ` que doutils pour concevoir des interfaces utilisateur graphiques. Matlab est associ a des boites a outils e` ` ` appel TOOLBOX permettant dacc der a des fonctions sp ciques a un domaine dapplication comme le e e e traitement dimages par exemple. Les TP de traitement dimages r alis s avec Matlab n cessitent ainsi la toolbox Image Acquisition e e e et la toolbox Image Processing. Les fonctions de cette derni` re toolbox peuvent etre list e en tapant la e e fonction help images dans l diteur de commande de Matlab. Pour obtenir un descriptif d taill des ces e e e fonctions, utiliser laide contextuelle en tapant la fonction help suivi du nom de la fonction ou utiliser laide en ligne en ouvrant lapplication Helpdesk (en tapant la fonction helpdesk, par exemple). Avant de parcourir directement le sujet, vous pouver d couvrir les d monstrations associ es au toolbox Image e e e ` e Processing en tapant la fonction demos (ou directement le nom de la d monstration a d couvrir). e

Prise en main

Ce premier exercice est destin a prendre en main les toolbox Image Processing et Image Acquisie` tion.

1.1 Rappel sur Matlab


La gure 1 montre la d composition de Matlab en plusieurs fen tres : e e une fen tre d dition des commandes (Command Window), e e deux fen tres contenant un onglet de visualisation de lespace des variables (Workspace), un onglet e de visualisation des chiers du r pertoire de travail (Current Directory) et un onglet de visualisation e de lhistorique des commandes (Command History). une fen tre d dition avec un onglet permettant de visualiser le contenu de chiers (Editor) et un e e onglet permettant de visualiser le contenu des variables (Array Editor). e Les fonctions sont edit es dans la fen tre de commandes et ex cut es en appuyant sur la touche Entre. e e e e ` Le point virgule a la n dune fonction permet d viter dafcher les donn es r sultats de la fonction e e e ex cut e ou de s parer plusieurs fonctions sur une m me ligne de commande. Plusieurs fonctions et come e e e mandes peuvent etre saisies dans un chier qui sera enregistr avec lextension .m. En editant le nom de ce e chier dans la fen tre de commande, lensemble des fonctions d clar es dans ce chier seront ex cut es. e e e e e L dition de ce chier peut seffectuer en s lectionnant dans le menu File : New M-le. Il est egalement e e possible dy cr er des fonctions en utilisant la commande function. e La fonction figure permet de g n rer une fen tre graphique permettant de visualiser les donn es e e e e (courbes, images, ...). la fonction close permet de fermer la fen tre active et close all permet de fere mer toutes les fen tres. Les fonctions title, xlabel, ylabel permettent respectivement dafcher un titre e ` a la gure, le nom de laxe des abscisses et le nom de laxe des ordonn es. La fonction subplot permet e dafcher plusieurs graphiques ou images au sein dune m me gure. e

Traitement dimages sous Matlab

Figure 1 Le logiciel de calcul scientique Matlab

La fonction clear efface les variables mises en m moire durant une session Matlab tandis que la fonce tion clc efface le contenu de la fen tre de commande. La fonction pause permet de mettre en veille la e fen tre de commandes de Matlab et les fonctions disp, display ou celldisp permettent lafchage de e textes ou de donn es dans la fen tre de commandes de Matlab. e e ` Chaque variable d clar e dans Matlab est stock e dans lespace des variables a partir duquel il est e e e possible de consulter la taille et le type de la variable ainsi que d diter son contenu par un double-click sur e ` le nom de la variable. Les variables Matlab sont des objets de type structure ou des tableaux a n dimensions. ` Ainsi, un scalaire est un tableau de taille 1 1 ; un vecteur est un tableau a 1 dimension de taille 1 n ; ` une matrice est un tableau a 2 dimensions de taille m n... Il est ensuite possible dacc der facilement au e ` e ` tableau, a un el ment du tableau, a une ou plusieurs dimensions particuli` res du tableau. e ` Une image en noir et blanc est donc un tableau a 2 dimensions. Si I est la variable contenant les donn es e ` dune image a niveaux de gris, linstruction I(1,1) renvoie la valeur du pixel de coordonn es (1, 1). Linse truction I(:,1) renvoie les valeurs des pixels de la premi` re colonne et linstruction I(1,:) renvoie les e valeurs des pixels de la premi` re ligne... e Pour cr er le vecteur V = [ 1 2 3 4 ] par exemple, il faut saisir linstruction V=[1 2 3 4]. Pour cr er la e e matrice M = 1 2 par exemple, il faut saisir linstruction M=[1 2; 3 4]... 34 Certaines op rations arithm tiques sur les tableaux peuvent etre effectu s de deux mani` res : e e e e de mani` re matricielle avec les op rateurs : *, / ou ^, e e e e el ments par el ment avec les op rateurs : .*, ./ ou .^. e

Traitement dimages sous Matlab

1.2 Lecture, afchage et sauvegarde dune image


Le chargement en m moire dune image se fait avec la fonction imread. Par exemple, la fonction e suivante permet de lire une image et de placer son contenu dans une variable de type matrice : I = imread(cameraman.tif); Cette variable est alors visible dans le Workspace (espace des variables) de Matlab. La fonction whos permet dafcher toutes les informations relatives aux variables en m moire et la fonction imfinfo afche e ` les informations relatives a un chier image. Lafchage de limage (ou de la variable) est r alis par la fonction imshow. Ainsi les fonctions suivantes e e ouvrent une nouvelle fen tre pour y afcher limage I. e figure; imshow(I); 1) Afcher limage cameraman.tif et donner les caract ristiques de cette image. Etudier les options de e la fonction imshow Les fonctions imwrite et print permettent la sauvegarde, respectivement, des images et des gures sous diff rents formats (tif, jpg, bmp, pcx, png, gif, emf, eps, ...). e 2) Enregistrer limage cameraman.tif sous les formats suivants : JPEG, BMP, PNG, GIF et le format TIFF sans compression. Ouvrir et afcher ensuite chacune de ces images, observer leurs diff rences et e comparer les avec limage dorigine. Mesurer ces diff rences avec limage dorigine en calculant lerreur e quadratique moyenne. 3) Enregistrer limage cameraman.tif au format JPEG avec diff rents niveaux de compression (mettre e ` le param` tre Quality a 0, 25, 50, 75 et 100). Ouvrir et afcher ensuite chacune de ces images, observer e leurs diff rences en taille et en qualit et comparer les avec limage dorigine. Mesurer ces diff rences avec e e e limage dorigine en calculant lerreur quadratique moyenne.

1.3 Acquisition dune image


Le mat riel dacquisition est une simple WebCam pos e sur un portique et reli e au PC par le port USB. e e e Un pilote Windows sp cique permet de communiquer entre le PC et la Webcam. e La fonction imaqhwinfo permet lobtention dinformations sur le mat riel et les pilotes install s. e e 4) En utilisant cette fonction, d terminer les caract ristiques mat riel et logiciel du syst` me dacquisie e e e tion install . e Lacquisition dune image sous Matlab passe par la cr ation dun objet dentr e vid o en utilisant la e e e fonction videoinput. Cette fonction afche egalement les principales propri t s de lobjet dentr e vid o ee e e cr e. Un objet dentr e vid o est un objet de type structure sur laquelle il est possible de r gler plusieurs e e e e propri t s : ee les param` tres li s au p riph rique comme : e e e e le format de limage, lespace de codage de limage (RGB, YCbCr, niveaux de gris, ...)... Les param` tres li s a lacquisition comme : e e `

Traitement dimages sous Matlab

la luminosit (Brightness), e le contraste (Contrast), le temps dexposition (Exposure), la correction gamma (Gamma), la nettet (Sharpness)... e La fonction propinfo (ou les fonctions get et set) ainsi que la fonction inspect permettent dacc der e et de connatre les caract ristiques d taill es de chaque propri t . Une propri t peut egalement etre un e e e ee ee objet de type structure avec ses propres propri t s. Lacc` s a cet objet sadresse de la facon suivante : ee e ` nom.propriete. Attention, certaines propri t s ne sont accessibles quen lecture seule selon quune acquiee sition est en cours ou non. 5) Donner les diff rents formats dimages possible de la WebCam. Attention, cette propri t est toujours e ee en lecture seule d` s que lobjet dentr e vid o est cr e. Cest pourquoi il faut la changer au moment de la e e e e cr ation avec la fonction videoinput. e ` 6) Associer un objet dentr e vid o vid au p riph rique mat riel correspondant a la WebCam en transe e e e e mettant le num ro didentication de ce p riph rique avec un format dimage 1280 960. A laide de la e e e fonction inspect, acc der aux diff rentes propri t s de la variable vid et modier lespace de repr sentation e e ee e de la couleur de telle sorte que les images puissent etre acquises dans lespace RGB. Cette propri t peut ee egalement etre modi e a laide de linstruction : e ` set(vid,ReturnedColorSpace,rgb);

La fonction preview permet de cr er une fen tre dapercu an de visualiser la sc` ne observ e et la e e e e fonction closepreview permet de fermer cette fen tre. Cest ainsi quil est possible de r gler certain e e param` tre dacquisition. e ` ` 7) Orienter la cam ra sur lobjet a observer et visualiser lobjet dentr e vid o vid a laide de la fonction e e e pr c dente. Effectuer la mise au point de lobjectif de la WebCam. e e ` 8) Acc der a la propri t de source vid o vid.Source (la fonction getselectedsource peut egalement e ee e etre utilis e) et relever ses propri t s de luminosit , de contraste, de temps dexposition, de correction e ee e gamma, de teinte, de saturation et de nettet a laide de la fonction propinfo ainsi que les valeurs minimales e` ` et maximales de r glage. Ajuster ces param` tres a laide de la fonction set qui permet de changer les e e propri t s dun objet ou de facon interactive gr ce a la fonction inspect. ee a ` Lacquisition dUNE seule image se fait avec la fonction getsnapshot. 9) Utiliser cette fonction pour r aliser lacquisition de limage et afcher cette image dans une gure. e Enregistrer cette image au format TIFF. 10) Changer lespace de repr sentation RGB en un espace de luminosit et faire lacquisition dune e e nouvelle image sans modier les r glages pr c dent et sans d placer lobjet observ . Enregistrer cette image e e e e e au format TIFF. 11) Faire une nouvelle acquisition en niveau de gris avec un format 320 240 sans modier les r glages e pr c dent et sans d placer lobjet observ . Enregistrer cette image au format TIFF. e e e e

Traitement dimages sous Matlab

1.4 Types des images en m moire e


Matlab supporte 4 formats dimages : les images binaires, les images dintensit s (` niveaux de gris), e a les images couleur RGB, les images couleur index es. e Il est possible de changer de format en utilisant les fonctions suivantes : ind2gray : index intensit , e e ind2rgb : index RGB, e rgb2ind : RGB index , e rgb2gray : RGB intensit , e im2bw : intensit , index , RGB binaire : cest lop rateur de binarisation. Une image binaire peut e e e etre egalement obtenue en utilisant des op rateurs de comparaison et des op rateurs logiques. Par e e exemple, les instructions (I==seuil) ou ((I>=seuil bas) & (I<seuil haut)) permettent dob` tenir des images binaires par comparaison des niveaux des pixels dune image I a des valeurs de seuils. ` ` Le passage dune image couleur a une image dintensit correspond a la transformation des composantes e R, G, B en la composante Y des syst` mes de transmissions YIQ et YUV qui s parent linformation de e e luminance et de chrominance. 12) Ouvrir limage couleur acquise et enregistr e pr c demment et la convertir en une image dintensit . e e e e Comparer cette image avec celle pr c demment acquise directement en niveaux de gris en calculant lerreur e e quadratique moyenne entre ces deux images. 13) Ouvrir limage couleur acquise et enregistr e pr c demment et extraire et afcher en niveaux de e e e gris puis en couleur les images correspondant aux composantes R, G et B. Que peut-on observer ? Les valeurs des pixels de ces images peuvent etre de diff rents types : e logique (0 ou 1 pour les images binaires), entier non sign cod sur 8 bits (entre 0 et 255), e e entier non sign cod sur 16 bits (entre 0 et 65535), e e r el (entre 0 et 1). e Il est possible de changer le type des variables en utilisant les fonctions suivantes : im2double : codage dimages en type r el, e im2uint8 : codage dimages en type entier non sign sur 8 bits, e im2uint16 : codage dimages en type entier non sign sur 16 bits, e double conversion de donn es en type r el, e e uint8 conversion de donn es en type non sign sur 8 bits, e e uint16 conversion de donn es en type non sign sur 16 bits. e e Les images binaires sont cod s en entier logique ou en r el logique et leurs pixels ont des valeurs e e ` ` uniquement egales a 0 ou a 1. Lafchage dune image peut se faire, soit en r el et les valeurs des pixels sont e alors comprises entre 0.0 et 1.0, soit en entier et les valeurs des pixels sont alors comprises, par exemple, entre 0 et 255 pour des entiers non sign s cod s sur 8 bits. e e 14) Ouvrir limage monochrome acquise et enregistr e pr c demment et la convertir en une image e e e de type double en utilisant successivement les fonctions double et im2double. Expliquer les diff rences e observ es. e

Traitement dimages sous Matlab

1.5 Manipulation des images


Certaines fonctions ou certains outils de Matlab permettent des manipulations interactive sur une image contenue dans une gure ou non : imageinfo : retourne les information de limage dans la gure ou dun chier image, zoom : zoom sur une zone de limage de la gure, imcrop : s lectionne une zone de limage, e improfile : afche le prol dune ligne s lectionn e, e e impixel : retourne les valeurs des pixels s lectionn s, e e impixelinfo : afche la position et les valeurs dun pixel point avec la souris, e impixelregion : afche les valeurs des pixels dans une r gion s lectionn e avec la souris, e e e imdistline : afche la distance entre deux pixels s lectionn s, e e imdisplayrange : afche lintervalle des valeurs des pixels de limage, imcontrast : r ajuste une image, e imtool : outil qui utilise les outils pr c dents. e e Dautres fonctions permettent des op rations g om triques sur limage : e e e imresize : r - chantillonnage de limage (homoth tie), ee e imrotate : rotation de limage. 15) Tester les outils imtool, impixelinfo et imdisplayrange sur limage monochrome acquise et enregistr e pr c demment. e e e 16) Ouvrir limage monochrome acquise et enregistr e pr c demment et appliquer une rotation de 45 . e e e Quelle est la taille de limage ainsi obtenue ? 17) Ouvrir limage monochrome acquise et enregistr e pr c demment et diviser sa taille par quatre en e e e ` utilisant la fonction imresize. Comparer cette image avec celle acquise directement a la taille 320 240 en calculant lerreur quadratique moyenne.

Traitement dimages sous Matlab

2 Am lioration et restauration dimages e

Am lioration dimages e

La fonction imhist permet le calcul et lafchage de lhistogramme dune image. En exploitant cet histogramme plusieurs op rations sont possibles en utilisant les fonctions suivantes : e imadjust : recadrage de la dynamique selon une correction gamma, histeq : egalisation et sp cication dhistogrammes, e adapthisteq : egalisation adaptative dhistogrammes, im2bw : binarisation dune image. 1) Ex cuter et tester la d mo imadjdemo qui utilise principalement les fonctions imadjust et histeq. e e 2) Acqu rir une image en niveau de gris de taille 1280 960 avec un maximum de luminosit , un e e minimum de correction gamma et de contraste et visualiser son histogramme. Que peut-on constater ? Apr` s e avoir enregistr cette image, d terminer les valeurs de recadrage et r aliser le recadrage dynamique en e e e ` sp ciant egalement la valeur de gamma choisie. Quelle est la LUT correspondant a cette op ration ? e e 3) D terminer les valeurs de recadrage en utilisant la fonction stretchlim dabord, puis les fonctions e min et max ensuite. R aliser respectivement les deux recadrages dynamiques correspondant. e 4) Acqu rir a nouveau une image en niveau de gris de taille 1280 960 dans des conditions correctes et e ` r aliser l galisation dhistogramme. Observer et commenter les diff rences avec le recadrage dynamique. e e e ` e Visualiser lhistogramme cumul de cette image ayant servi a l galisation. R aliser une egalisation adape e tative et comparer avec le r sultat pr c dent. e e e 5) Acqu rir une image de taille 1280 960 en r glant correctement la cam ra et seuiller cette image e e e ` apr` s avoir d termin le seuil a appliquer en visualisant son histogramme. Effectuer de la m me facon le e e e e seuillage mais , tout dabord sans xer de seuil, puis en calculant automatiquement le seuil avec la fonction ` graythresh. Quelle est la LUT correspondant a cette op ration ? Quelles sont les diff rence entre les e e m thodes pr c dentes ? e e e

Restauration dimages

La fonction de ltrage lin aire propre aux images propos par Matlab est la fonction imfilter. Cette e e ` op rateur correspond a une convolution r alisable egalement avec les fonctions conv2 ou filter2 mais e e qui est sp cique aux images num riques et traite en particulier les bords de limage. Le noyau du ltre est e e une matrice de taille quelconque d nie par lutilisateur ou accessibles par la fonction fspecial. e Des ltrages non-lin aire peuvent etre r alis s avec la fonction nlfilter ou ordfilt2. e e e 6) Ex cuter et tester la d mo nrfiltdemo qui utilise principalement ces fonctions . e e

Traitement dimages sous Matlab

2.1 Filtre passe-bas


7) Acqu rir une image en niveau de gris de taille 1280 960. A partir dun ltre moyenneur, effectuer e le lissage de cette image en utilisant des ltres de tailles 3 3, 5 5 puis 7 7 an d tudier linuence e de la taille du noyau du ltre. Comparer les r sultats obtenus entre eux et avec ceux obtenus en utilisant un e ltre gaussien. 8) Appliquer deux fois un ltre moyenneur de taille 3 3 sur une images acquise en niveau de gris et ` comparer aux r sultats pr c dents. Quel est le ltre equivalent a ces deux op rations ? Valider ce ltre en e e e e comparant le r sultat du ltrage correspondant avec celui d termin pr c demment. e e e e e La fonction medfilt2 (ou plus g n ralement ordfilt2) permet de r aliser le ltrage par un ltre e e e m dian. e 9) R aliser les m mes ltrages que pr c demment en faisant varier la taille du ltre mais en utilisant le e e e e ltre m dian et comparer les r sultats. e e ` La fonction imnoise permet dajouter du bruit a une image. 10) Appliquer un bruit de type poivre et sel sur une image acquise en niveau de gris et appliquer un ` ltre moyenneur de taille 3 3 puis un ltre median de m me taille pour comparer a nouveau les r sultats e e obtenus. 11) Appliquer un bruit uniforme sur une image acquise en niveau de gris et appliquer un ltre moyenneur ` de taille 3 3 puis un ltre median de m me taille pour comparer a nouveau les r sultats obtenus. e e 12) Ecrire une fonction imadapt permettant le ltrage adaptatif de limage et tester cette fonction sur les deux types de bruit pr c dent. Discuter des r sultats obtenus et comparer les temps de traitement. Comparer e e e les r sultats obtenus avec ceux obtenus en utilisant la fonction wiener2. e

2.2 Filtre passe-haut


2.2.1 Utilisation de la d riv e premi` re e e e

13) Acqu rir une image en niveau de gris de taille 1280 960 et ltrer cette image en utilisant un ltre e de Prewitt horizontal. Comparer les r sultats obtenus avec les fonctions imfilter, filter2 et conv2. e 14) Filtrer limage pr c dente en utilisant le ltre de Prewitt horizontal oppos . Comparer les r sultats e e e e obtenus avec les pr c dents en utilisant les fonctions imfilter, filter2 et conv2. e e 15) Utiliser des orientations suppl mentaires an d tudier leur effet sur le ltrage. Pour cela on pourra e e utiliser lop rateur de transposition ainsi que les fonctions de rotation fliplr, flipud et rot90. e 16) Fusionner les r sultats pr c dents pour obtenir une image ltr e unique. e e e e

Traitement dimages sous Matlab

10

2.2.2

Utilisation de la d riv e seconde e e

17) Utiliser un ltre Laplacien 4-voisins puis 8-voisins pour effectuer le ltrage passe-haut et comparer les r sultats avec ceux obtenus pr c demment. Comparer les r sultats obtenus avec les fonctions imfilter, e e e e filter2 et conv2. 18) R aliser la m me op ration en utilisant le laplacien de la fonction fspecial. Que peut-on remare e e quer ? 2.2.3 Vers la d tection de contours... e

La fonction edge permet dappliquer un ltrage passe-haut en utilisant soit la d riv e premi` re dans e e e diff rentes directions, soit la d riv e seconde. Cette fonction exploite ensuite le r sultat obtenu en xant un e e e e seuil aux maximums locaux de la d riv e premi` re ou aux passage par z ro de la d riv e seconde. e e e e e e 19) Ex cuter et tester la d mo edgedemo qui utilise principalement la fonction edge. e e 2.2.4 R haussement de contraste e

Le ltre rehausseur est d ni comme le ltre Laplacien mais le coefcient du centre du noyau est egale e ` a 5 pour un Laplacien 4-voisins (ou 9 pour un Laplacien 8-voisins). ` 20) Acqu rir une image a niveau de gris avec une mauvaise nettet et etudier leffet de ce ltre sur e e cette image. R aliser la m me op ration en utilisant le laplacien de la fonction fspecial. Que peut on e e e remarquer ?

2.3 Utilisation de la transform e de Fourier e


La fonction fft2 permet de calculer la transform e de Fourier dune image et la fonction ifft2 la transe form e inverse. La fonction fftshift permet de centrer une transform e de Fourier sur la fondamentale e e (fr quence spatile nulle). e 21) Calculer la transform e de Fourier centr e dune image acquise en niveau de gris. Afcher le module e e ou la partie r elle de cette transform e soit dans une image, soit dans un graphique (fonction surf, image, e e imagesc, imshow, ...). An de r aliser un ltrage en utilisant les transform es de Fourier, on remplacera les valeurs correse e ` pondant aux fr quences a ltrer par des z ros (ltre id al). On r alisera ensuite la transform e inverse en e e e e e faisant attention den prendre son module ou sa partie r elle. e 22) R aliser le ltrage passe-bas, passe-haut puis passe-bande dune image acquise en niveau de gris en e utilisant la transform e de Fourier. Proposer des fr quences de coupures ad quates. Comparer les r sultats e e e e ` a ceux obtenus avec des noyaux de convolution. 23) Ex cuter et tester la d mo firdemo qui utilise le principe du ltrage fr quentiel ainsi que la d mo e e e e dctdemo qui utilise la transform e en cosinus discr` te pour compresser les images. e e

Traitement dimages sous Matlab

11

3 Morphologie math matique e 1 Acquisition des images et pr -traitement e

1) Ouvrir ou acqu rir une image couleur de taille 1280 960. Transformer cette image en image monoe chrome et enregistrer cette image. ` 2) Binariser limage acquise pr c demment de telle sorte a obtenir des objets en blanc et un fond en e e noir. Si plusieurs binarisations sont n cessaires, utiliser les op rateurs logiques (fonctions imcomplement, e e or, xor et and) pour recomposer limage.

Erosion et dilatation

Les fonctions imerode et imdilate permettent respectivement de r aliser des op rations d rosion et e e e ` ` e e de dilatation sur des images a niveaux de gris a partir dun el ment structurant. Cet el ment structurant peut etre d ni soit par une matrice de 0 et de 1, soit en utilisant la fonction strel qui permet de congurer des e e e el ments structurants el mentaires.

2.1 Erosion
e 3) Appliquer une erosion sur limage binaire en utilisant comme el ment structurant un carr de taille e 3 3 pixels. Commenter les r sultats. e e 4) Appliquer une erosion sur limage binaire en utilisant comme el ment structurant un carr de taille e 5 5 pixels. Commenter et comparer les r sultats. e e 5) Appliquer deux erosions cons cutivement sur limage binaire en utilisant comme el ment structurant e un carr de taille 3 3 pixels. Commenter et comparer les r sultats. e e e 6) Appliquer une erosion sur limage binaire en utilisant comme el ment structurant un disque de taille 5 5 pixels. Commenter et comparer les r sultats. e

2.2 Dilatation
e 7) Appliquer une dilatation sur limage binaire en utilisant comme el ment structurant un carr de taille e 3 3 pixels. Commenter les r sultats. e e 8) Appliquer une dilatation sur limage binaire en utilisant comme el ment structurant un carr de taille e 5 5 pixels. Commenter et comparer les r sultats. e e 9) Appliquer deux dilatations cons cutivement sur limage binaire en utilisant comme el ment structue rant un carr de taille 3 3 pixels. Commenter et comparer les r sultats. e e

Traitement dimages sous Matlab

13

e 10) Appliquer une dilatation sur limage binaire en utilisant comme el ment structurant un disque de taille 5 5 pixels. Commenter et comparer les r sultats. e

Ouverture et fermeture

Une ouverture est une erosion suivie dune dilatation et une fermeture est une dilatation suivie dune erosion.

3.1 Ouverture
11) En utilisant les fonctions d nies pr c demment, r aliser une ouverture sur limage binaris e. Come e e e e parer et commenter les r sultats. R aliser la m me op ration avec la fonction imopen. Que se passe-t-il e e e e lorsque cette op ration est r p t e ou lorsque la taille ou la forme de l l ment structurant change ? e e ee ee

3.2 Fermeture
12) En utilisant les fonctions d nies pr c demment, r aliser une fermeture sur limage binaris e. Come e e e e parer et commenter les r sultats. R aliser la m me op ration avec la fonction imclose. Que se passe-t-il e e e e lorsque cette op ration est r p t e ou lorsque la taille ou la forme de l l ment structurant change ? e e ee ee

3.3 Squelettisation
La fonction bwmorph permet plusieurs op rations morphologiques sur des images binaires dont l rosion, e e la dilatation, louverture, la fermeture, lamaincissement, ... ` La squelettisation consiste a effectuer r cursivement lop ration damincissement jusqu` ce que limage e e a ainsi cr ee ne change plus. e 13) Appliquer et observer lop ration de squelettisation sur limage pr c dente correctement reconse e e truite en utilisant la fonction bwmorph.

Autres op rations sur images binaires e

La fonction imclearborder est une fonction morphologique qui permet de supprimer des r gions qui e sont au contact des bords de limage binaire. La fonction bwareaopen permet de supprimer des r gions de e trop petites tailles dans une image binaire. La fonction imfill est une fonction morphologique qui permet de combler les trous dans les r gions dune image binaire. e 14) En utilisant ces trois fonctions, traiter limage acquise et binaris e an dobtenir une image dans e laquelle les formes correspondent au mieux aux objets de la sc` ne r elle. Utiliser dautres fonctions more e phologiques si n cessaire. e

Traitement dimages sous Matlab

14