Sunteți pe pagina 1din 6

Universit Sultan Moulay Slimane Sciences et Technique Bni-Mellal Dpartement Informatique

Anne universitaire Facult des 2011 --- 2012 Master ID --- S2

Dtection des contours et transform de Haugh


Abdelkrim MAARIR
*Facult des sciences et techniques : maarir.abdelkrim@gmail.com*

Objectif
Objectif de ce TP est de faire comprendre les diffrentes mthodes de dtection des contours sur une image a laide des fonctions supportes par le logiciel Matlab ; INTRODUCTION Voici algorithme : [l,c]=size(BW); for i=2:l-1 for j=2:c-1 if BW(i,j)~=1 BW(i,j)=1; end end end

Parmi les choses les plus importants dans le traitement dimages est la dtection des contours ce dernier permet de reprer les diffrents objets qui constituent la scne de l'image. Il existe de nombreuses mthodes pour trouver les contours des objets, la plupart sont bases sur les drives premires et secondes de l'image. La dtection de contours permet de reprer dans les images les objets qui s'y trouvent avant d'appliquer le traitement uniquement sur ces objets. Les contours dans une image proviennent des : Discontinuits de la fonction de prfectance (texture, ombre), Discontinuits de profondeur (bords de l'objet),
I. DETECTION DE CONTOURS

resultat:

imshow(BW)

A. LA MTHODE SOBEL :

Dabord on va essayez dcrire un algorithme simple qui permet de dtecter les contours sur une image binaire ci-dessous : Dtection de contours des images binaires : Image binaire :

On va commencer par la mthode Sobel , Le filtre de Sobel est apprci pour sa simplicit et sa rapidit d'excution. Ces qualits posent des problmes lorsqu'il s'agit de traiter une image complexe. Elle permet d'liminer des faux contours. En considrant non seulement l'intensit du gradient mais aussi sa direction, il est possible d'liminer un pixel qui pointe vers deux pixels de valeur suprieure car ce n'est pas un maximum local.
I=imread(maison.jpg) ; % en niveau de gris

BW = EDGE(I,'sobel')

Universit Sultan Moulay Slimane Sciences et Technique Bni-Mellal Dpartement Informatique


Original

Anne universitaire Facult des 2011 --- 2012 Master ID --- S2

Prewitt

Rsultat :
Image originale Sobel

C. B.
LA METHODE PREWITT

LA METHODE

ROBERTS : quatre

Ce
:

Le dtecteur Prewitt est Calcul sur 9 points, ce filtre effectue une moyenne locale sur 3 points en mme temps que la drivation. Il est dfini par le double masque suivant (normalis par un facteur de 1/3) : La matrice qui correspond au filtrage horizontal, faisant ressortir essentiellement les contours verticaux, selon l'oprateur de Prewitt, s'crit hx = [1 0 1] (figure 1) tandis que la matrice verticale hy est sa transpose. Les deux convolutions avec le tableau de valeurs initiales crent deux tableaux Gx et Gy l'origine du tableau G sur lequel on peut localiser les maximums:

points, ce filtre consiste en l'application du double masque suivant :


dtecteur est calcul sur

Figure 2 : Le filtre Roberts

Ce filtre est une approche discrte de la drive de pas 1 d'une fonction: le gradient de cette fonction. Si I(x,y) reprsente un pixel dans une image, alors les amplitudes des gradients en x et en y peuvent s'crire respectivement: Gx = I(x+1,y) - I(x,y), Gy = I(x,y+1) - I(x,y). Cela revient a convoler l'image avec les deux filtres Rx = [-1 1] et Ry = transpose ([-1 1]). (Figure 2)
Voici la fonction ; I=imread(maison.jpg) ; % en niveau de gris

BW = EDGE(I,' Roberts ')


Figure1 : Masques de Prewitt horizontal et vertical La fonction sous Matlab de ce filtre est la suivante : I=imread(maison.jpg) ; % en niveau de gris

BW = EDGE(I,' Prewitt ')

Voici le rsultat obtenu :

Universit Sultan Moulay Slimane Sciences et Technique Bni-Mellal Dpartement Informatique

Anne universitaire Facult des 2011 --- 2012 Master ID --- S2

Original

Roberts LE 5EME DETECTEUR : LA METHODE DE CANNY

D.

LA METODE DE

LAPLACIEN

En traitement dimage L'oprateur laplacien donne une approximation directe de la somme des drives secondes, ce qui peut tre obtenu avec une matrice qui est la somme des deux drives partielles principales. Il y a trois types de dtecteurs Laplaciens ; Cette mthode respecte mieux les contours ferms :

Canny est utilis en traitement d'images pour la dtection des contours, elle permet de rduire le bruit de l'image originale avant d'en dtecter les contours. Ceci permet d'liminer les pixels isols qui pourraient induire de fortes rponses lors du calcul du gradient, conduisant ainsi de faux positifs. L'algorithme de Canny ajoute un critre supplmentaire au mthode classique pour dfinir un dtecteur optimal, la non multiplicit des maxima locaux. Testons maintenant cette dtection de contours, qui est une amlioration de la mthode de Sobel.
I=imread(maison.jpg) ; % en niveau de gris

BW = EDGE(I,' Canny ')

On obtient le rsultat suivant :

Original

Canny

Carr

Octogonal

Hexagonal

I=imread(maison.jpg) ; % en niveau de gris

BW = EDGE(I,' log ')


Voici le rsultat Original Laplacien

Universit Sultan Moulay Slimane Sciences et Technique Bni-Mellal Dpartement Informatique

Anne universitaire Facult des 2011 --- 2012 Master ID --- S2

Voici les rsultats obtenus pour les 5 mthodes de dtections des contours :

Comparaison des rsultats Dapres ces resultat on voit que cest la mthode de Canny qui permet de dtecter les contours avec le plus de dtails, les contours sont ici beaucoup plus nets Les mthodes de Sobel et Prewitt rendent un rsultat quasi semblable. Notons que la mthode de Canny est une amlioration de la mthode de Sobel. Les mthodes de Prewitt et Roberts donnent des contours discontinus peu exploitables car perdant partiellement la symtrie de l'image.

Universit Sultan Moulay Slimane Sciences et Technique Bni-Mellal Dpartement Informatique

Anne universitaire Facult des 2011 --- 2012 Master ID --- S2

La figure ci-dessous prsente la combinaison des dtecteurs dj tests classes dune manire croissante
Sob+Pre Pre+Rob

Sob+Rob

Sob+Lap

Pre+Lap

Rob+Lap

Universit Sultan Moulay Slimane Sciences et Technique Bni-Mellal Dpartement Informatique

Anne universitaire Facult des 2011 --- 2012 Master ID --- S2

II LA TRANSFORM DE HOUGH Pour dtecter les droites qui existe dans notre image on va utiliser la mthode de dtection des contours Canny et la transforme de Haugh, voici lalgorithme :
maison= imread('maison.jpg'); I = rgb2gray(maison); % niveau gris BW = edge(I,'canny'); % extraction des contours [H,T,R] = hough(BW,'RhoResolution',0.5,'Theta',-90:0.5:89.5); % Afficher image originale figure; subplot(2,1,1); imshow(maison); title('Original'); % display the hough matrix subplot(2,1,2); imshow(imadjust(mat2gray(H)),'XData',T,'YData',R,... 'InitialMagnification','fit'); title('II. La transformer de Haugh'); xlabel('\theta'), ylabel('\rho'); axis on, axis normal, hold on; colormap(hot);

Conclusion DANS ce TP, nous avons compar diffrentes mthodes de dtection de contours, a savoir Sobel, Prewitt, Roberts, Laplacien et Canny Le but de la dtection de contours est de chercher les pixels dune images qui correspondent un changement de lintensit lumineuse nous avons obtenu comme rsultat que la mthode Canny est la plus performante .et puis nous avons appliqu la transforme de Hough pour extraire les droits qui existe dans limage utilise et tracer la courbe des droits .

S-ar putea să vă placă și