traitement d'image sous matlab

46
FACULTE DES SCIENCES TUNIS Bureau d’étude 2 Traitement d’image sujet 2 Dahech Hajer 16/05/2015

Upload: hajer-dahech

Post on 16-Apr-2017

2.752 views

Category:

Software


13 download

TRANSCRIPT

Page 1: Traitement d'image sous Matlab

FACULTE DES SCIENCES TUNIS

Bureau d’étude 2

Traitement d’image sujet 2

Dahech Hajer

16/05/2015

Page 2: Traitement d'image sous Matlab

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 3: Traitement d'image sous Matlab

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 4: Traitement d'image sous Matlab

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 5: Traitement d'image sous Matlab

Page 4

Figure :Image

L’histogramme correspondant

Page 6: Traitement d'image sous Matlab

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 7: Traitement d'image sous Matlab

Page 6

Figure :Image composée en 3 plans de couleur R,G,B

Convertir puis afficher l’image en niveaux gris

Page 8: Traitement d'image sous Matlab

Page 7

Figure :Image en niveau de gris

L’histogramme correspondant à l’image en niveau de gris

Page 9: Traitement d'image sous Matlab

Page 8

Figure :Histogramme de l’image en niveau de gris

2. Quantification d’une image

Page 10: Traitement d'image sous Matlab

Page 9

Quantifier l’image en N =8 en niveau de gris

Figure :Image quantifiée en 8 niveaux de gris

Page 11: Traitement d'image sous Matlab

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 12: Traitement d'image sous Matlab

Page 11

Figure :Image quantifiée en 4 niveaux de gris

Page 13: Traitement d'image sous Matlab

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 14: Traitement d'image sous Matlab

Page 13

Figure :Image quantifiée en 2 niveaux de gris

Page 15: Traitement d'image sous Matlab

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 16: Traitement d'image sous Matlab

Page 15

Figure :Image ré-échantillonner par un facteur 0.5

Page 17: Traitement d'image sous Matlab

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 18: Traitement d'image sous Matlab

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 19: Traitement d'image sous Matlab

Page 18

Figure :Image compressée/ Image décompressée

Taux de

compression

Page 20: Traitement d'image sous Matlab

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 21: Traitement d'image sous Matlab

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 22: Traitement d'image sous Matlab

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 23: Traitement d'image sous Matlab

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 24: Traitement d'image sous Matlab

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 25: Traitement d'image sous Matlab

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 26: Traitement d'image sous Matlab

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 27: Traitement d'image sous Matlab

Page 26

Choisir push

button et ajouter

les boutons

nécessaires pour

le traitement

Page 28: Traitement d'image sous Matlab

Page 27

-Ensuite , on fait deplacer tout les bouttons vers « Panel » comme le montre la figure

ci-dessous :

Page 29: Traitement d'image sous Matlab

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 30: Traitement d'image sous Matlab

Page 29

- Pour accéder aux

paramètres des

boutons, on double

clique dessus et une

fenêtre Property

Inspector s’ouvre

alors.

Page 31: Traitement d'image sous Matlab

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 32: Traitement d'image sous Matlab

Page 31

-De meme on fait pour les autres bouttons

Page 33: Traitement d'image sous Matlab

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 34: Traitement d'image sous Matlab

Page 33

Maintenant, on termine le traitement de chaque fonction :

Page 35: Traitement d'image sous Matlab

Page 34

Page 36: Traitement d'image sous Matlab

Page 35

Page 37: Traitement d'image sous Matlab

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 38: Traitement d'image sous Matlab

Page 37

Ci-dessous vous trouvez la vérification de fonctionnement de tous les boutons.

Affichage

Image

Histogramme

RGB

Page 39: Traitement d'image sous Matlab

Page 38

Composante

Rouge

Image en

niveau gris

Page 40: Traitement d'image sous Matlab

Page 39

Composante

Bleu

Composante

verte

Page 41: Traitement d'image sous Matlab

Page 40

Image quantifiée

en 8 niveaux en

gris

Histogramme

d’image

quantifiée en

8 niveaux en

gris

Page 42: Traitement d'image sous Matlab

Page 41

Image

quantifiée en 4

niveaux en gris

Histogramme

d’image quantifiée

en 4 niveaux en

gris

Page 43: Traitement d'image sous Matlab

Page 42

Image

quantifiée en 2

niveaux en gris

Histogramme

d’image

quantifiée en 2

niveaux en gris

Page 44: Traitement d'image sous Matlab

Page 43

Image ré-échantillonnée

par un facteur 0.5

Compression

d’image

Page 45: Traitement d'image sous Matlab

Page 44

Acquisition

webcam

Décompression

d’image

Page 46: Traitement d'image sous Matlab

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