Vous êtes sur la page 1sur 14

Traitement dimages sous Matlab

EI3 ann ee 2009-2010

1 Acquisition dimages sous Matlab p. 3 2 Am elioration et restauration dimages p. 9 3 Morphologie math ematique p. 13

Vandenbroucke Nicolas

R11

1 Acquisition dimages sous Matlab

` laide Lobjectif de ce TP est de prendre en main les outils de traitement dimages les plus classiques a ` des du logiciel Matlab. Matlab est un logiciel de calcul scientique permettant de d evelopper des solutions a probl` emes techniques. Il permet de r ealiser du calcul num erique et de tracer des graphiques pour visualiser et analyser les donn ees. Il dispose dun langage et dun environnement de programmation interactifs ainsi ` des boites a ` outils que doutils pour concevoir des interfaces utilisateur graphiques. Matlab est associ ea ` des fonctions sp ` un domaine dapplication comme le appel e TOOLBOX permettant dacc eder a eciques a traitement dimages par exemple. Les TP de traitement dimages r ealis es avec Matlab n ecessitent ainsi la toolbox Image Acquisition tre list et la toolbox Image Processing. Les fonctions de cette derni` ere toolbox peuvent e ee en tapant la fonction help images dans l editeur de commande de Matlab. Pour obtenir un descriptif d etaill e des ces 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 ecouvrir les d emonstrations associ ees au toolbox Image ` d Processing en tapant la fonction demos (ou directement le nom de la d emonstration a ecouvrir).

Prise en main

` prendre en main les toolbox Image Processing et Image AcquisiCe premier exercice est destin ea tion.

1.1 Rappel sur Matlab


La gure 1 montre la d ecomposition de Matlab en plusieurs fen etres : une fen etre d edition des commandes (Command Window), deux fen etres contenant un onglet de visualisation de lespace des variables (Workspace), un onglet de visualisation des chiers du r epertoire de travail (Current Directory) et un onglet de visualisation de lhistorique des commandes (Command History). une fen etre d edition avec un onglet permettant de visualiser le contenu de chiers (Editor) et un onglet permettant de visualiser le contenu des variables (Array Editor). dit Les fonctions sont e ees dans la fen etre de commandes et ex ecut ees en appuyant sur la touche Entr ee. ` la n dune fonction permet d Le point virgule a eviter dafcher les donn ees r esultats de la fonction ex ecut ee ou de s eparer plusieurs fonctions sur une m eme ligne de commande. Plusieurs fonctions et com tre saisies dans un chier qui sera enregistr ditant le nom de ce mandes peuvent e e avec lextension .m. En e chier dans la fen etre de commande, lensemble des fonctions d eclar ees dans ce chier seront ex ecut ees. galement L edition de ce chier peut seffectuer en s electionnant dans le menu File : New M-le. Il est e possible dy cr eer des fonctions en utilisant la commande function. La fonction figure permet de g en erer une fen etre graphique permettant de visualiser les donn ees (courbes, images, ...). la fonction close permet de fermer la fen etre active et close all permet de fermer toutes les fen etres. Les fonctions title, xlabel, ylabel permettent respectivement dafcher un titre ` la gure, le nom de laxe des abscisses et le nom de laxe des ordonn a ees. La fonction subplot permet dafcher plusieurs graphiques ou images au sein dune m eme gure.

Traitement dimages sous Matlab

Figure 1 Le logiciel de calcul scientique Matlab

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

Traitement dimages sous Matlab

1.2 Lecture, afchage et sauvegarde dune image


Le chargement en m emoire dune image se fait avec la fonction imread. Par exemple, la fonction 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 emoire et la fonction imfinfo afche ` un chier image. les informations relatives a Lafchage de limage (ou de la variable) est r ealis e par la fonction imshow. Ainsi les fonctions suivantes ouvrent une nouvelle fen etre pour y afcher limage I . figure; imshow(I); 1) Afcher limage cameraman.tif et donner les caract eristiques de cette image. Etudier les options de la fonction imshow Les fonctions imwrite et print permettent la sauvegarde, respectivement, des images et des gures sous diff erents formats (tif, jpg, bmp, pcx, png, gif, emf, eps, ...). 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 erences et comparer les avec limage dorigine. Mesurer ces diff erences avec limage dorigine en calculant lerreur quadratique moyenne. 3) Enregistrer limage cameraman.tif au format JPEG avec diff erents niveaux de compression (mettre ` 0, 25, 50, 75 et 100). Ouvrir et afcher ensuite chacune de ces images, observer le param` etre Quality a leurs diff erences en taille et en qualit e et comparer les avec limage dorigine. Mesurer ces diff erences avec limage dorigine en calculant lerreur quadratique moyenne.

1.3 Acquisition dune image


Le mat eriel dacquisition est une simple WebCam pos ee sur un portique et reli ee au PC par le port USB. Un pilote Windows sp ecique permet de communiquer entre le PC et la Webcam. La fonction imaqhwinfo permet lobtention dinformations sur le mat eriel et les pilotes install es. 4) En utilisant cette fonction, d eterminer les caract eristiques mat eriel et logiciel du syst` eme dacquisition install e. Lacquisition dune image sous Matlab passe par la cr eation dun objet dentr ee vid eo en utilisant la galement les principales propri fonction videoinput. Cette fonction afche e et es de lobjet dentr ee vid eo . Un objet dentr cr ee ee vid eo est un objet de type structure sur laquelle il est possible de r egler plusieurs propri et es : les param` etres li es au p eriph erique comme : le format de limage, lespace de codage de limage (RGB, YCbCr, niveaux de gris, ...)... ` lacquisition comme : Les param` etres li es a

Traitement dimages sous Matlab

la luminosit e (Brightness), le contraste (Contrast), le temps dexposition (Exposure), la correction gamma (Gamma), la nettet e (Sharpness)... La fonction propinfo (ou les fonctions get et set) ainsi que la fonction inspect permettent dacc eder galement e tre un et de conna tre les caract eristiques d etaill ees de chaque propri et e. Une propri et e peut e ` cet objet sadresse de la fac objet de type structure avec ses propres propri et es. Lacc` es a on suivante : nom. propriete. Attention, certaines propri et es ne sont accessibles quen lecture seule selon quune acquisition est en cours ou non. 5) Donner les diff erents formats dimages possible de la WebCam. Attention, cette propri et e est toujours . Cest pourquoi il faut la changer au moment de la en lecture seule d` es que lobjet dentr ee vid eo est cr ee cr eation avec la fonction videoinput. ` la WebCam en trans6) Associer un objet dentr ee vid eo vid au p eriph erique mat eriel correspondant a mettant le num ero didentication de ce p eriph erique avec un format dimage 1280 960. A laide de la fonction inspect, acc eder aux diff erentes propri et es de la variable vid et modier lespace de repr esentation tre acquises dans lespace RGB. Cette propri de la couleur de telle sorte que les images puissent e et e peut galement e tre modi ` laide de linstruction : e ee a set(vid,ReturnedColorSpace,rgb);

La fonction preview permet de cr eer une fen etre daperc u an de visualiser la sc` ene observ ee et la fonction closepreview permet de fermer cette fen etre. Cest ainsi quil est possible de r egler certain param` etre dacquisition. ` observer et visualiser lobjet dentr ` laide de la fonction 7) Orienter la cam era sur lobjet a ee vid eo vid a pr ec edente. Effectuer la mise au point de lobjectif de la WebCam. ` la propri galement 8) Acc eder a et e de source vid eo vid .Source (la fonction getselectedsource peut e tre utilis e ee) et relever ses propri et es de luminosit e, de contraste, de temps dexposition, de correction ` laide de la fonction propinfo ainsi que les valeurs minimales gamma, de teinte, de saturation et de nettet ea ` laide de la fonction set qui permet de changer les et maximales de r eglage. Ajuster ces param` etres a ` la fonction inspect. propri et es dun objet ou de fac on interactive gr ace a Lacquisition dUNE seule image se fait avec la fonction getsnapshot. 9) Utiliser cette fonction pour r ealiser lacquisition de limage et afcher cette image dans une gure. Enregistrer cette image au format TIFF. 10) Changer lespace de repr esentation RGB en un espace de luminosit e et faire lacquisition dune nouvelle image sans modier les r eglages pr ec edent et sans d eplacer lobjet observ e. Enregistrer cette image au format TIFF. 11) Faire une nouvelle acquisition en niveau de gris avec un format 320 240 sans modier les r eglages pr ec edent et sans d eplacer lobjet observ e. Enregistrer cette image au format TIFF.

Traitement dimages sous Matlab

1.4 Types des images en m emoire


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

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 electionne une zone de limage, improfile : afche le prol dune ligne s electionn ee, impixel : retourne les valeurs des pixels s electionn es, impixelinfo : afche la position et les valeurs dun pixel point e avec la souris, impixelregion : afche les valeurs des pixels dans une r egion s electionn ee avec la souris, imdistline : afche la distance entre deux pixels s electionn es, imdisplayrange : afche lintervalle des valeurs des pixels de limage, imcontrast : r eajuste une image, imtool : outil qui utilise les outils pr ec edents. Dautres fonctions permettent des op erations g eom etriques sur limage : imresize : r e- echantillonnage de limage (homoth etie), imrotate : rotation de limage. 15) Tester les outils imtool, impixelinfo et imdisplayrange sur limage monochrome acquise et enregistr ee pr ec edemment. 16) Ouvrir limage monochrome acquise et enregistr ee pr ec edemment et appliquer une rotation de 45 . Quelle est la taille de limage ainsi obtenue ? 17) Ouvrir limage monochrome acquise et enregistr ee pr ec edemment et diviser sa taille par quatre en ` la taille 320 240 utilisant la fonction imresize. Comparer cette image avec celle acquise directement a en calculant lerreur quadratique moyenne.

Traitement dimages sous Matlab

2 Am elioration et restauration dimages

Am elioration dimages

La fonction imhist permet le calcul et lafchage de lhistogramme dune image. En exploitant cet histogramme plusieurs op erations sont possibles en utilisant les fonctions suivantes : imadjust : recadrage de la dynamique selon une correction gamma, galisation et sp histeq : e ecication dhistogrammes, galisation adaptative dhistogrammes, adapthisteq : e im2bw : binarisation dune image. 1) Ex ecuter et tester la d emo imadjdemo qui utilise principalement les fonctions imadjust et histeq. 2) Acqu erir une image en niveau de gris de taille 1280 960 avec un maximum de luminosit e, un minimum de correction gamma et de contraste et visualiser son histogramme. Que peut-on constater ? Apr` es avoir enregistr e cette image, d eterminer les valeurs de recadrage et r ealiser le recadrage dynamique en galement la valeur de gamma choisie. Quelle est la LUT correspondant a ` cette op sp eciant e eration ? 3) D eterminer les valeurs de recadrage en utilisant la fonction stretchlim dabord, puis les fonctions min et max ensuite. R ealiser respectivement les deux recadrages dynamiques correspondant. ` nouveau une image en niveau de gris de taille 1280 960 dans des conditions correctes et 4) Acqu erir a r ealiser l egalisation dhistogramme. Observer et commenter les diff erences avec le recadrage dynamique. ` l galisation adapVisualiser lhistogramme cumul e de cette image ayant servi a egalisation. R ealiser une e tative et comparer avec le r esultat pr ec edent. 5) Acqu erir une image de taille 1280 960 en r eglant correctement la cam era et seuiller cette image ` appliquer en visualisant son histogramme. Effectuer de la m apr` es avoir d etermin e le seuil a eme fac on le seuillage mais , tout dabord sans xer de seuil, puis en calculant automatiquement le seuil avec la fonction ` cette op graythresh. Quelle est la LUT correspondant a eration ? Quelles sont les diff erence entre les m ethodes pr ec edentes ?

Restauration dimages

La fonction de ltrage lin eaire propre aux images propos e par Matlab est la fonction imfilter. Cette ` une convolution r galement avec les fonctions conv2 ou filter2 mais op erateur correspond a ealisable e qui est sp ecique aux images num eriques et traite en particulier les bords de limage. Le noyau du ltre est une matrice de taille quelconque d enie par lutilisateur ou accessibles par la fonction fspecial. tre r Des ltrages non-lin eaire peuvent e ealis es avec la fonction nlfilter ou ordfilt2. 6) Ex ecuter et tester la d emo nrfiltdemo qui utilise principalement ces fonctions .

Traitement dimages sous Matlab

2.1 Filtre passe-bas


7) Acqu erir une image en niveau de gris de taille 1280 960. A partir dun ltre moyenneur, effectuer le lissage de cette image en utilisant des ltres de tailles 3 3, 5 5 puis 7 7 an d etudier linuence de la taille du noyau du ltre. Comparer les r esultats obtenus entre eux et avec ceux obtenus en utilisant un ltre gaussien. 8) Appliquer deux fois un ltre moyenneur de taille 3 3 sur une images acquise en niveau de gris et quivalent a ` ces deux op comparer aux r esultats pr ec edents. Quel est le ltre e erations ? Valider ce ltre en comparant le r esultat du ltrage correspondant avec celui d etermin e pr ec edemment. La fonction medfilt2 (ou plus g en eralement ordfilt2) permet de r ealiser le ltrage par un ltre m edian. 9) R ealiser les m emes ltrages que pr ec edemment en faisant varier la taille du ltre mais en utilisant le ltre m edian et comparer les r esultats. ` une image. La fonction imnoise permet dajouter du bruit a 10) Appliquer un bruit de type poivre et sel sur une image acquise en niveau de gris et appliquer un ` nouveau les r ltre moyenneur de taille 3 3 puis un ltre median de m eme taille pour comparer a esultats obtenus. 11) Appliquer un bruit uniforme sur une image acquise en niveau de gris et appliquer un ltre moyenneur ` nouveau les r de taille 3 3 puis un ltre median de m eme taille pour comparer a esultats obtenus. 12) Ecrire une fonction imadapt permettant le ltrage adaptatif de limage et tester cette fonction sur les deux types de bruit pr ec edent. Discuter des r esultats obtenus et comparer les temps de traitement. Comparer les r esultats obtenus avec ceux obtenus en utilisant la fonction wiener2.

2.2 Filtre passe-haut


2.2.1 Utilisation de la d eriv ee premi` ere

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

Traitement dimages sous Matlab

10

2.2.2

Utilisation de la d eriv ee seconde

17) Utiliser un ltre Laplacien 4-voisins puis 8-voisins pour effectuer le ltrage passe-haut et comparer les r esultats avec ceux obtenus pr ec edemment. Comparer les r esultats obtenus avec les fonctions imfilter, filter2 et conv2. 18) R ealiser la m eme op eration en utilisant le laplacien de la fonction fspecial. Que peut-on remarquer ? 2.2.3 Vers la d etection de contours...

La fonction edge permet dappliquer un ltrage passe-haut en utilisant soit la d eriv ee premi` ere dans diff erentes directions, soit la d eriv ee seconde. Cette fonction exploite ensuite le r esultat obtenu en xant un seuil aux maximums locaux de la d eriv ee premi` ere ou aux passage par z ero de la d eriv ee seconde. 19) Ex ecuter et tester la d emo edgedemo qui utilise principalement la fonction edge. 2.2.4 R ehaussement de contraste

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

2.3 Utilisation de la transform ee de Fourier


La fonction fft2 permet de calculer la transform ee de Fourier dune image et la fonction ifft2 la transform ee inverse. La fonction fftshift permet de centrer une transform ee de Fourier sur la fondamentale (fr equence spatile nulle). 21) Calculer la transform ee de Fourier centr ee dune image acquise en niveau de gris. Afcher le module ou la partie r eelle de cette transform ee soit dans une image, soit dans un graphique (fonction surf, image, imagesc, imshow, ...). An de r ealiser un ltrage en utilisant les transform ees de Fourier, on remplacera les valeurs corres` ltrer par des z pondant aux fr equences a eros (ltre id eal). On r ealisera ensuite la transform ee inverse en faisant attention den prendre son module ou sa partie r eelle. 22) R ealiser le ltrage passe-bas, passe-haut puis passe-bande dune image acquise en niveau de gris en utilisant la transform ee de Fourier. Proposer des fr equences de coupures ad equates. Comparer les r esultats ` ceux obtenus avec des noyaux de convolution. a 23) Ex ecuter et tester la d emo firdemo qui utilise le principe du ltrage fr equentiel ainsi que la d emo dctdemo qui utilise la transform ee en cosinus discr` ete pour compresser les images.

Traitement dimages sous Matlab

11

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

1) Ouvrir ou acqu erir une image couleur de taille 1280 960. Transformer cette image en image monochrome et enregistrer cette image. ` obtenir des objets en blanc et un fond en 2) Binariser limage acquise pr ec edemment de telle sorte a noir. Si plusieurs binarisations sont n ecessaires, utiliser les op erateurs logiques (fonctions imcomplement, or, xor et and) pour recomposer limage.

Erosion et dilatation

Les fonctions imerode et imdilate permettent respectivement de r ealiser des op erations d erosion et ` niveaux de gris a ` partir dun e l l de dilatation sur des images a ement structurant. Cet e ement structurant peut tre d e eni soit par une matrice de 0 et de 1, soit en utilisant la fonction strel qui permet de congurer des l l e ements structurants e ementaires.

2.1 Erosion
rosion sur limage binaire en utilisant comme e l 3) Appliquer une e ement structurant un carr e de taille 3 3 pixels. Commenter les r esultats. rosion sur limage binaire en utilisant comme e l 4) Appliquer une e ement structurant un carr e de taille 5 5 pixels. Commenter et comparer les r esultats. rosions cons l 5) Appliquer deux e ecutivement sur limage binaire en utilisant comme e ement structurant un carr e de taille 3 3 pixels. Commenter et comparer les r esultats. rosion sur limage binaire en utilisant comme e l 6) Appliquer une e ement structurant un disque de taille 5 5 pixels. Commenter et comparer les r esultats.

2.2 Dilatation
l 7) Appliquer une dilatation sur limage binaire en utilisant comme e ement structurant un carr e de taille 3 3 pixels. Commenter les r esultats. l 8) Appliquer une dilatation sur limage binaire en utilisant comme e ement structurant un carr e de taille 5 5 pixels. Commenter et comparer les r esultats. l 9) Appliquer deux dilatations cons ecutivement sur limage binaire en utilisant comme e ement structurant un carr e de taille 3 3 pixels. Commenter et comparer les r esultats.

Traitement dimages sous Matlab

13

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

Ouverture et fermeture

rosion suivie dune dilatation et une fermeture est une dilatation suivie dune Une ouverture est une e rosion. e

3.1 Ouverture
11) En utilisant les fonctions d enies pr ec edemment, r ealiser une ouverture sur limage binaris ee. Comparer et commenter les r esultats. R ealiser la m eme op eration avec la fonction imopen. Que se passe-t-il lorsque cette op eration est r ep et ee ou lorsque la taille ou la forme de l el ement structurant change ?

3.2 Fermeture
12) En utilisant les fonctions d enies pr ec edemment, r ealiser une fermeture sur limage binaris ee. Comparer et commenter les r esultats. R ealiser la m eme op eration avec la fonction imclose. Que se passe-t-il lorsque cette op eration est r ep et ee ou lorsque la taille ou la forme de l el ement structurant change ?

3.3 Squelettisation
La fonction bwmorph permet plusieurs op erations morphologiques sur des images binaires dont l erosion, la dilatation, louverture, la fermeture, lamaincissement, ... ` effectuer r La squelettisation consiste a ecursivement lop eration damincissement jusqu` a ce que limage e ne change plus. ainsi cr ee 13) Appliquer et observer lop eration de squelettisation sur limage pr ec edente correctement reconstruite en utilisant la fonction bwmorph.

Autres op erations sur images binaires

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

Traitement dimages sous Matlab

14

Vous aimerez peut-être aussi