traitement d'image sous matlab
TRANSCRIPT
FACULTE DES SCIENCES TUNIS
Bureau d’étude 2
Traitement d’image sujet 2
Dahech Hajer
16/05/2015
Page 1
Table des matières Traitement d’image sujet n°2 ........................................................................................................................ 2
I. Définitions ...................................................................................................................................... 2
1. Principe de l’histogramme ........................................................................................................... 2
2. Principe de la quantification ........................................................................................................ 2
3. Echantillonnage de la fonction image ......................................................................................... 2
II. Manipulation .............................................................................................................................. 3
1. Ouverture et lecture d’une image ................................................................................................ 3
A. A l’aide du Matlab, lire l’image « lena.bmp » puis l’afficher. ................................................ 3
B. Décomposition de l’image en trois plans de couleur R, G, B.................................................. 5
2. Quantification d’une image ......................................................................................................... 8
3. Echantillonnage d’une image .................................................................................................... 14
4. Compression d’une image ......................................................................................................... 16
Faire une acquisition de l'image en temps réel par la caméra de ton pc ............................................................... 19
Intégration des programmes dans une seule interface GUI .............................................................................. 23
I. Définition d’une interface gui sous Matlab ............................................................................... 23
II. Création d’une interface gui sous Matlab ............................................................................. 23
III. Intégration des programmes dans une seule interface gui................................................... 32
Conclusion générale ................................................................................................................................... 45
Bibliographie ............................................................................................................................................ 45
Page 2
Traitement d’image sujet n°2 I. Définitions
1. Principe de l’histogramme
Pour afficher l'histogramme d'une image en niveaux de gris, il est nécessaire de
calculer le nombre de pixels pour chaque niveau de gris. Une fonction, qui
permettra de réaliser et afficher l'histogramme, doit être créée. Le résultat sera
comparé à l'histogramme réaliser sous Matlab grâce à la fonction imhist ( ).
2. Principe de la quantification
La quantification permet de coder une image, qui est initialement en 256
niveaux de gris, en n niveaux de gris où n est un paramètre qui peut être modifié
par l'utilisateur lorsqu'il le souhaite. On découpe les niveaux de gris en
intervalles de même amplitude.
La valeur qui sera affecté pour chaque intervalle est le centre de l'intervalle.
3. Echantillonnage de la fonction image
Échantillonnage en x et en y de la fonction, ne conserve que les valeurs pour les
points (x, y) = (c.Δx, l.Δy) avec c, l entiers tableau de valeurs I : ℤ2 ℝn, (c, l)
I (c.Δx, l.Δy)
Page 3
II. Manipulation
1. Ouverture et lecture d’une image
A. A l’aide du Matlab, lire l’image « lena.bmp » puis l’afficher.
Code Matlab
Page 4
Figure :Image
L’histogramme correspondant
Page 5
Figure :Histogramme de l’image RGB
B. Décomposition de l’image en trois plans de couleur R, G, B.
Décomposer l’image en trois plans
Page 6
Figure :Image composée en 3 plans de couleur R,G,B
Convertir puis afficher l’image en niveaux gris
Page 7
Figure :Image en niveau de gris
L’histogramme correspondant à l’image en niveau de gris
Page 8
Figure :Histogramme de l’image en niveau de gris
2. Quantification d’une image
Page 9
Quantifier l’image en N =8 en niveau de gris
Figure :Image quantifiée en 8 niveaux de gris
Page 10
Figure :Histogramme de l’image quantifiée en 8 niveaux de gris
Quantifier l’image en N =4 en niveau de gris
Page 11
Figure :Image quantifiée en 4 niveaux de gris
Page 12
Figure :Histogramme de l’image quantifiée en 4 niveaux de gris
Quantifier l’image en N =2 en niveau de gris
Page 13
Figure :Image quantifiée en 2 niveaux de gris
Page 14
Figure :Histogramme de l’image quantifiée en 2 niveaux de gris
3. Echantillonnage d’une image
Ré-échantillonner l’image par un facteur 0.5
Page 15
Figure :Image ré-échantillonner par un facteur 0.5
Page 16
4. Compression d’une image
Effectuer la transformation en DCT de l’image puis en IDCT
Afficher l’image décompressée
Figure :Application de la DCT sur l’image
Page 17
Figure :Image décompressée
Les coefficients de la matrice sont changés, elle devient une matrice double.
Maintenant, on veut afficher le taux de compression
Dans le code ci-dessous on a :
La transformation en DCT
La transformation en IDCT
Le calcul de taux de compression
Page 18
Figure :Image compressée/ Image décompressée
Taux de
compression
Page 19
Faire une acquisition de l'image en
temps réel par la caméra de ton pc
Afin de faire une acquisition de l'image en temps réel par la caméra de mon pc on va suivre
les étapes suivantes
- lancer MATLAB
-Ecrire les commandes suivantes dans la fenêtre « Command Window »
La fenêtre suivante s’ouvre (on fait appel au Webcam)
Page 20
-Dans un nouveau « Editor » on ecrit ce programme qui nous permet de faire une acquisition de
l'image en temps réel par la caméra du pc , on va prendre 10 images avec u delai de 2 secondes entre
eux
-
Page 21
Enfin, cliquer sur l’icône « Run» (voir la figure ci-après)
Voilà les 10
images prises
par la camera du
PC
Page 22
On ouvre les
images avec
Paint
Photo prise par
acquisition de
l'image en temps
réel par la caméra
de ton pc
Page 23
Intégration des programmes dans
une seule interface GUI I. Définition d’une interface gui sous Matlab
Les interfaces graphiques (ou interfaces homme-machine) sont appelées GUI (pour Graphical
User Interface) sous MATLAB. Elles permettent à l'utilisateur d'interagir avec un programme
informatique, grâce à différents objets graphiques (boutons, menus, cases à cocher…). Ces
objets sont généralement actionnés à l'aide de la souris ou du clavier.
II. Création d’une interface gui sous Matlab
Afin d’avoir une interface gui une suit les étapes suivantes :
- lancer MATLAB
- cliquer sur l’icône « GUIDE » (voir la figure ci-après)
- Elle s’ouvre cette fenêtre on choisit dans l’onglet « Create new GUI » Blank GUI
(Default)
guide
Page 24
- on obtient une fenêtre que l’on peut placer sur l’interface graphique.
Sur la gauche les différents
objets (push button, radio
button, slider, axes, etc…)
Page 25
-on suit le chemin suivant FilePréférences
Puis caucher l’icône suivante :
-Puisque on a plusieurs operations , d’où on a besoin de beaucoup de bouttons on peut suivre
les étapes suivantes pour avoir une interface claire et non encombrée .
Page 26
Choisir push
button et ajouter
les boutons
nécessaires pour
le traitement
Page 27
-Ensuite , on fait deplacer tout les bouttons vers « Panel » comme le montre la figure
ci-dessous :
Page 28
Enfin on a l’interface suivante avec les bonttons necessaires
Choisir « Axes »
et dessiner la
fenêtre
d’acquisition et
de traitement
suivante
Page 29
- Pour accéder aux
paramètres des
boutons, on double
clique dessus et une
fenêtre Property
Inspector s’ouvre
alors.
Page 30
Les paramètres à
modifier pour les boutons
sont :
- String : le nom qui
apparaît sur le bouton (sur
l’interface)
- Tag : cela modifie le
nom de la fonction dans
MATLAB associée au
bouton
Page 31
-De meme on fait pour les autres bouttons
Page 32
III. Intégration des programmes dans une seule interface gui
Test_Guide2.m c’est le programme principal qui fait appelle des sous programmes sous formes
des fonctions :
Dès que l’on sauvegarde le
fichier « GUIDE », MATLAB
génère automatiquement un
fichier .m portant le même
nom que le fichier « GUIDE ».
Page 33
Maintenant, on termine le traitement de chaque fonction :
Page 34
Page 35
Page 36
Enfin, cliquer sur l’icône « Run» (voir la figure ci-après)
-Voici l’interface GUI suivante quand on clique sur chaque boutton il fait le traitement correspondant
à sa fonction et affiche le résultat ici
On a intégré de cette façon tous les programmes traités dans la manipulation (TP2) dans une
seule interface GUI.
Page 37
Ci-dessous vous trouvez la vérification de fonctionnement de tous les boutons.
Affichage
Image
Histogramme
RGB
Page 38
Composante
Rouge
Image en
niveau gris
Page 39
Composante
Bleu
Composante
verte
Page 40
Image quantifiée
en 8 niveaux en
gris
Histogramme
d’image
quantifiée en
8 niveaux en
gris
Page 41
Image
quantifiée en 4
niveaux en gris
Histogramme
d’image quantifiée
en 4 niveaux en
gris
Page 42
Image
quantifiée en 2
niveaux en gris
Histogramme
d’image
quantifiée en 2
niveaux en gris
Page 43
Image ré-échantillonnée
par un facteur 0.5
Compression
d’image
Page 44
Acquisition
webcam
Décompression
d’image
Page 45
Conclusion générale
Ce travail m’a énormément appris, autant au niveau de traitement d’image sous Matlab,
d’apprentissage de nouvelles commandes concernant l’image.
J’avais aussi appris des nouvelles connaissances au niveau de la création de l’interface GUI et
l’acquisition d’image en temps réel.
J’avais rencontré certaines difficultés au niveau de la création l’interface GUI puisque
j’avais l’utiliser pour la 1ere fois.
Bibliographie https://www.youtube.com/watch?v=D_hmws6dwgg
https://www.youtube.com/watch?v=Eo7mYcocnD8
https://www.youtube.com/watch?v=NMbLtA6LE6w&
https://www.youtube.com/watch?v=Ekl21W7by_k
https://www.youtube.com/watch?v=Gsg09q-mEBk