Vous êtes sur la page 1sur 11

REPPUBLIC OF CAMEROON

Peace - Work - Fatherland


************
MINISTRY OF HIGHER
EDUCATION
*************
HIGHER INSTITUTE OF SAHEL
*************
DEPARTMENT OF
*************

REPUBLIQUE DU CAMEROUN
Paix - Travail - Patrie
*************
MINISTERE DE LENSEIGNEMENT
SUPERIEUR
*************
INSTITUT SUPERIEUR DU SAHEL
*************
DEPARTEMENT
*************

INF

TRAVAIL PERSONNEL ENCADRE :


Unit denseignement : traitement dimage

Thme : lrosion dune image

MEMBRES DU GROUPE :
AMINA PAZEU
AMINATOU ABAKAI MAHAMAT
ATANGANA NOAH VALERE
Sous la direction de :
Dr. Olivier Videme BOSSOU

Anne Acadmique : 2015/2016

Contenu
Introduction........................................................................................................................................ 1
I. Morphologie mathmatique..........................................................................................................2
I.1 Transformation par rosion.........................................................................................................2
II.

Principe de lrosion dune image.............................................................................................2

II.1 binarisation................................................................................................................................ 2
III.

ALGORITHME DROSION..................................................................................................4

IV.

CODE MATLAB...................................................................................................................... 5

Conclusion.......................................................................................................................................... 9

Introduction
Le traitement dimage tudie les images numrique et leur transformation dans le but
damliorer leur qualit ou den extraire de linformation. En effet Lrosion consiste rduire les
entits. Pour cela, on fait promener un lment structurant B sur le pourtour des entits. Le centre de
llment structurant donne le contour de lentit rduite. Une rosion peut tre rpte plusieurs
fois sur une mme image, on parle alors drosion de taille n, ou dordre n. pour mieux comprendre
la notion drosion dimage, nous allons dans premier temps prsenter la morphologie
mathmatique de lrosion. En suite le principe drosions, son algorithme et en fin le code
implment sur Matlab.

Erosion dune image

Page 1

I.

Morphologie mathmatique

I.1 Transformation par rosion


Considrons un espace R^2 partiellement occup par un ensemble X et un lment
structurant Bx. Bx est ensuite dplac de telle sorte que son centre occupe successivement toutes les
positions x de lespace. Pour chaque position, on pose la question suivante : est-ce que B x est
compltement inclus dans X ? En dautres termes, est-ce que B x X ?
Lensemble des positions x correspondant une rponse positive forme un nouvel ensemble Y
appel rod de X Bx. Cet ensemble satisfait lquation : Y= {X : Bx X}. On obtient donc

EB

(X)
II.

Principe de lrosion dune image

II.1 binarisation
Avec une image niveau de gris, il faut dabord faire une binarisation, afin de nobtenir que
deux valeurs : 0 et 1. Les 0 reprsentent les parties sombres de limage, alors que les 1 reprsentent
les parties claires.
Pour parvenir une binarisation, il faudrait faire un seuillage sur diffrents niveaux de gris.
Par exemple, si S1 et S2 dsignent deux seuils, o S1 est le seuil minimal et S2 le seuil maximal,
pour tous les niveaux de gris gaux ou compris entre S1 et S2, on affecte la valeur 0, tandis quon
attribue la valeur 1 tous les niveaux infrieurs S1 et suprieurs S2. Toutefois, le choix des
niveaux de seuillage est fonction de linformation recherche.
Les rsultats obtenus sur la tableau 1 et 2 en donnent une bonne illustration. Pour binariser
limage du tableau 1, on sest fix deux seuils : S1= 0 et S2= 100. Ainsi, tous les niveaux de gris
gaux ou compris entre 0 et 100 on a attribu la valeur 0 et ceux suprieurs 100, la valeur 1.
tableau1 : fentre 8*8 dune image
167
140
102
116
98
144
155
175

135
143
185
135
166
78
120
80

193
125
194
180
155
64
70
100

75
60
127
185
185
205
182
135

100
170
40
174
80
145
135
78

185
55
175
120
124
179
178
165

155
107
190
155
105
175
185
100

Tableau2 :image binaire par seuillage de limage de la tableau1(S1=0 et S2=100)


Erosion dune image

Page 2

200
85
102
174
176
125
70
50

1
1
1
1
0
1
1
1

1
1
1
1
1
0
1
0

1
1
1
1
1
0
0
0

0
0
1
1
1
1
1
1

0
1
0
1
0
1
1
0

1
0
1
1
1
1
1
1

1
1
1
1
1
1
1
0

1
0
1
1
1
1
0
0

Le principe de lrosion dune image binaire 10 x 4 (tableau 3) par un lment structurant


unitaire carr 3 x 3 (tableau 4) de connexit dordre 8 est illustr la tableau 5 .
Il consiste positionner le pixel central de llment structurant sur chacun des pixels de limage.
Si le produit logique de tous les points de llment structurant avec ceux de limage donne 1, nous
attribuons la valeur 1 au pixel centr. Si un seul des produits logiques donne 0, nous attribuons la
valeur 0 au pixel centr correspondant (tableau 5).Le rsultat ainsi obtenu est spcifique au
remplacement des vides par des 0 pour la gestion des bords de limage.
Tableau 3 : forme initiale dune image binaire 10*4
1

Tableau4 :lment structurant carr 3*3


1
1
1

1
1
1

1
1
1

Tableau5 : Exemple illustrant la transformation par rosion pour trois positions de llment
structurant carr 3 x 3.
1

Erosion dune image

Page 3

Tableau 6 : forme rode de limage binaire 10*4


0

III. ALGORITHME DROSION


1- Transformer notre fichier image original en un fichier image binaire (pour aller plus
rapidement le fichier binaire obtenu sera constitu deux niveaux de gris qui sont les valeurs
attribues (0) pour la couleur noire au pixel positionn en (i, j), ou (255 ) pour la couleur
noire au pixel positionn en (i, j)).
2- Dfinir notre llment structurant M (pour aller plus rapidement, llment structur sera
constitu deux niveau de gris qui sont les valeurs attribues (0) pour la couleur noire au pixel
positionn en (i, j), ou (255) pour la couleur blanche au pixel positionn en (i, j))
3- Crer deux tableaux de mme taille que celui du fichier binaire. Ces deux tableaux nous
permettrons deffectuer des manipulations sur les pixels et de conserver le fichier binaire
initial.
4- Initialiser les deux tableaux Img1 et Img2 par des pixels de valeur 0 ;
5- Copier les valeurs (i, j) de pixel du tableau binaire original dans le tableau Imb1 la position
(i, j) de ce tableau.
6- Remplir le tableau img2 en fonction de llment structurant c'est--dire vrifiant les

conditions suivantes :
Pour tous les pixels (i, j) du tableau img1 Faire
Vrifier si ((img1(n-1,m-1) = = M(1,1))
ET(img1(n-1,m) = = M(1,2))
ET (img1(n-1,m+1) = = M(1,3))
ET (img1(n,m-1) = = M(2,1))

Erosion dune image

Page 4

ET (img1(n, m)= =M(2,2))


ET(img1(n,m+1) = = M(2,3))
ET (img1(n+1,m-1) = = M(3,1))
ET (img1(n+1,m) = = M(3,2))
ET(img1(n+1,m+1) = = M(3,3)))
Alors, si le rsultat est positif : img2 (i j)= img1 (i j)
Sinon img2 (i j)=0.
7- afficher limage forme par le tableau img2
8- le rsultat obtenu est limage rode.

IV.

CODE MATLAB

h=fopen('05.bmp');
h1=fopen('05erosion.bmp','w+');
%**************************************************************************
%*****operation de copie de l'entete de nom_ima nom_imaf********
b=fread(h,2,'uint8=>char');%type
fwrite(h1,b,'ubit8');
c=fread(h,1,'int32');%size
fwrite(h1,c,'bit32');
d=fread(h,1,'int16');%reserved1
fwrite(h1,d,'bit16');
d1=fread(h,1,'int16');%reserved
fwrite(h1,d1,'bit16');
offset=fread(h,1,'int32');%offset
fwrite(h1,offset,'bit32');
taille=fread(h,1,'int32');%taille de l'entete
fwrite(h1,taille,'bit32');
largeur=fread(h,1,'int32')%largeur
fwrite(h1,largeur,'bit32');
longueur=fread(h,1,'int32')%longueur
fwrite(h1,longueur,'bit32');
plan=fread(h,1,'int16');%plan
fwrite(h1,plan,'bit16');
Erosion dune image

Page 5

bitcount=fread(h,1,'int16');%bitcount
fwrite(h1,bitcount,'bit16');
compression=fread(h,1,'int32');%compression
fwrite(h1,compression,'bit32');
imagesize=fread(h,1,'int32');%size image
fwrite(h1,imagesize,'bit32');
xpelsperMeter=fread(h,1,'int32');%xpelsperMeter
fwrite(h1,xpelsperMeter,'bit32');
ypelsperMeter=fread(h,1,'int32');%ypelsperMeter
fwrite(h1,ypelsperMeter,'bit32');
colorused=fread(h,1,'int32');%colorused
fwrite(h1,colorused,'bit32');
colorimportant=fread(h,1,'int32');%colorimportant
fwrite(h1,colorimportant,'bit32');
% status=fseek(h,54,'bof')
% while(!=eof)
for i=1:256
couleur1(i)=fread(h,1,'uint8');
fwrite(h1,couleur1(i),'ubit8');
couleur2(i)=fread(h,1,'uint8');
fwrite(h1,couleur2(i),'ubit8');
couleur3(i)=fread(h,1,'uint8');
fwrite(h1,couleur3(i),'ubit8');
couleur4(i)=fread(h,1,'uint8');
fwrite(h1,couleur4(i),'ubit8');
end
% Binarisation***************************
for i=1:longueur
for j=1:largeur
pixel(i,j)=fread(h,1,'uint8');
if (pixel(i,j) >= 127);
fwrite(h1,255,'ubit8');
else
Erosion dune image

Page 6

fwrite(h1,0,'ubit8');
end
end
end
fclose(h1)
fclose(h)
img=imread('05erosion.bmp')
[A B]=size(img);
%%%%% Erosion de l'image binarise
%%%%definition de l'lment structurant M(x,y)
M=[255 255 255;255 255 255;255 0 255];
%%%initialisant des matrice support au traitement
img1=zeros(A,B);
img2=zeros(A,B);
img0=zeros(A,B);
%%% remplissage des matrice img0
img0=img;
% imshow(img0)
%%% remplissage des matrice img1
for n=1:A
for m=1:B
img1(n,m)=0;
img2(n,m)=0;
if (img0(n,m) ==255)
img1(n,m)=255; %% il est claire que les tableaux img0 et img1 sont identique
end
end

%% pour optimiser notre programme on pouvait ne pas crer imb1


%% et travailler immdiatement avec img0.

end
%% remplissage de la matrice img2
% Ici nous allons nous refere l'lment structurant dfini.
for n=2:(A-2)
for m=2:(B-2)

Erosion dune image

Page 7

if ((img1(n-1,m-1) == 255)&&(img1(n-1,m) == 255)&&(img1(n-1,m+1) ==


255)&&(img1(n+1,m-1) == 255)&&(img1(n+1,m) == 255)&&(img1(n+1,m+1) == 255))
img2(n,m)=255;
else
img2(n,m)=0;
end
end
end
%%%% traitement final
for n=1:A
for m=1:B
if (img2(n,m)==255)
img0(n,m)=255;
else
img0(n,m)=0;
end
end
end
%% affichons l'image rod
axes(handles.axes2);
imshow(img0);

Erosion dune image

Page 8

Conclusion
En somme il tait question pour nous de prsenter le concept drosion dimage. Nous avons
pu partir dun lment structurant roder notre image. La dfinition de llment structurant
dpend de linformation recherche. Ainsi rosion fait disparatre les petits objets et amincit les
objets restants.

Erosion dune image

Page 9