Академический Документы
Профессиональный Документы
Культура Документы
Un script
Un fichier texte qui contient une série d’instructions Matlab
Les instructions sont exécutées ligne après ligne
Pour lancer l’exécution, il suffit d'entrer le nom du script sur la console
Les variables créées dans ce fichier sont conservées dans le workspace
Une fonction
Le fichier texte commence par l'instruction function
Effectue une suite d'instruction en fonction des arguments d'entrée
Retourne un ou plusieurs résultats
Les variables créées dans ce fichier sont invisibles dans le workspace
117
1
Traitement des données sous Matlab
1. Visualisation
Les graphiques simples
La fonction plot permet de tracer des courbes en Matlab. Les arguments de cette
fonction sont les vecteurs de variables indépendantes et dépendantes, comme dans
l'exemple suivant:
x = [0:0.01:2*pi]
>> plot(x, cos(x), x, sin(x))
2
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
Signal échantillonné : les pixels d’une image sont régulièrement espacés sur une
grille carrée.
Valeurs quantifiées : les valeurs des pixels appartiennent à un intervalle borné
connu.
Espace de couleur : il existe de nombreuses façon de percevoir les couleurs
d’une image, l’espace de représentation le plus connu est l’espace rgb (rouge-
vert-bleu).
Autrement dit, une image est une matrice MxN de valeurs entières prises sur un
intervalle borné [0,Ng] où Ng est la valeur maximale du niveau de gris.
121
3
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
N j
P(i,j)
M
a) Image binaire:
Une image binaire est une image MxN où chaque point peut prendre uniquement la
valeur 0 ou 1. Les pixels sont noirs (0) ou blancs (1).
Le niveau de gris est codé sur un bit (Binary digIT). Dans ce cas Ng = 2 et la
relation sur les niveaux de gris devient: p(i,j) = 0 ou p(i,j) = 1.
b) Image en niveaux de gris:
Une image en niveaux de gris autorise un dégradé de gris entre le noir et le blanc. En
général, on code le niveau de gris sur un octet (8 bits) soit (2^8) 256 nuances de
dégradé. L'expression de la valeur du niveau de gris avec Ng = 256 devient:
p(i,j) ∈[0, 255].
123
4
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
c) Image couleur :
Une image couleur est la composition de trois (ou plus) images en niveaux de gris sur
trois (ou plus) composantes.
On définit donc trois plans de niveaux de gris, un rouge, un vert et un bleu. La couleur
finale est obtenue par synthèse additive des ces trois (ou plus) composantes.
N
On a les relations sur les niveaux de gris:
P_R(i,j) ∈[0, 255], P_V(i,j) ∈[0, 255],
P_B(i,j) ∈[0, 255]. On voit bien sur la P_B (i,j)
figure qu'une image couleur est en fait
l'association de trois plans de niveau de M
P_V (i,j)
gris, chacun d'eux étant une couleur de
P_R (i,j)
base.
124
Matlab est capable de lire et de décoder les fichiers images JPEG, TIFF, BMP, PNG,
HDF, PCX ou XWD.
Une image sous Matlab peut être représentée sous plusieurs formes, mais toujours
sous forme d'une matrice.
Avant de traiter une image dans Matlab, il faut la lire et décoder son format afin de la
transformer en une matrice de valeurs.
L'exemple ci-dessous permet de lire une image au format TIFF, de la décoder dans la
variable img et de l'afficher à l'écran dans une figure.
125
5
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
La commande axis('image') rend l'image affichée carrée pour garder les proportions.
L'appel à axis on permet l'affichage des graduations des axes.
Enfin, colorbar affiche la barre des couleurs de l'image.
126
6
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
7
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
2.2. Lire et écrire des images sous Matlab:
Matlab autorise l'exportation d'images sous divers formats: BMP, TIFF, EPS, PS...
La commande qui permet da sauvegarder une figure est print -dFORMAT fichier.
Un exemple est donné ci-dessous. Dans cet exemple, on affiche une image dans une
figure et grâce à la commande print, on exporte le résultat dans le format JPEG avec
un nom de fichier nv_care.jpg.
img=imread('care.jpg');
figure;
mshow(img);
print -djpeg nv_care.tif
130
131
8
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
2.3. Décomposition d'une image en ses composantes couleurs:
img1G = img1 ;
img1G( :, :,1) = 0 ; % Mise a zéro de la composante de rouge
img1G( :, :,3) = 0 ; % Mise a zéro de la composante de bleu
subplot(1,4,3) ;
imshow(img1G) ;
img1B = img1 ;
img1B( :, :,1) = 0 ; % Mise a zéro de la composante de rouge
img1B( :, :,2) = 0 ; % Mise a zéro de la composante de vert
subplot(1,4,4) ; % Positionnement en zone inferieure
imshow(img1B) ;
132
133
9
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
135
10
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
img6=imread ('fleurs.jpg');
s = ones(10,10) ; % Elément servant a éroder/dilater
subplot(2,2,1) ; imshow(img6) ;
img6Dl = imdilate(img6, s) ; % Dilatation
subplot(2,2,2) ; imshow(img6Dl)
img6Er = imerode(img6, s) ; % Erosion
subplot(2,2,3) ; imshow(img6Er) ;
p = ones(5,5) ; % Elément servant a éroder/dilater
imgGrad = imdilate(img6, p)- imerode(img6, p) ; %combinaison
subplot(2,2,4) ; imshow(imgGrad) ;
136
11
Traitement des données sous Matlab
2. Initiation au traitement d’images avec MATLAB
2.8. Seuillage
Un seuillage consiste a ne conserver que les pixels dont la valeur est comprise entre un
seuil inferieur et un seuil supérieur. Cela permet, par exemple, d'isoler les zones les plus
claires d’une image, etc.
12