Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui...

46
Introduction au traitement d’images Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda

Transcript of Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui...

Page 1: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Introduction au traitement d’images

Simulation sous Matlab

Professeur. Mohammed Talibi Alaoui

Département Mathématique et Informatique, Oujda

Page 2: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Le traitement d’image et vision par

ordinateur

Page 3: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

La vision par Ordinateur

Page 4: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Vision Artificielle VA

Un système de vision artificielle capte une scène tridimensionnelle et la traduit en une ou plusieurs images

• ObjectifsReconnaître et localiser les objets présents

dans la scène

Page 5: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Le Traitement d’Image TI

On désigne l'ensemble des opérations sur les

images numériques, qui transforment une

image en une autre image.

Page 6: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Imagerie Médicale

Rehaussement du contraste d’une radiographie de la cage thoracique

Page 7: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Imagerie Médicale

Détection des tumeurs cancéreuses à partir d’une mammographie

Page 8: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Recherche de lésions ou d’anomalies dans le cerveau

Imagerie Médicale

Page 9: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Traitement d’Image

Amélioration d’images (dégradation inconnue)

Page 10: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Traitement d’Image

Restauration d’images

(dégradation connue)

Page 11: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Applications TI

Page 12: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Systèmes à base de TI

Page 13: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Difficultés

• Variations naturelles dans une même catégorie d’objet– Exemple :maison, chaise

• Grande quantité de données à traiter– Image faible résolution N/B 128x128 16Ko– Image haute résolution couleur 512x512x3

750Ko– Image caméra numérique 2592x1944 pix

15,1Mo– Mouvement (30 im./s) 22.5 Mo

Page 14: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

• Variations dans le processus de formation de

l’image

– Éclairage

– Qualité du capteur

– Qualité du système

– …

Page 15: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

PLAN

• Chapitre 1 : Introduction• Chapitre 2 : Filtrage• Chapitre 3 : Détection de contours• Chapitre 4 : Morphologie mathématique• Chapitre 5 : Image couleur et texturé• Chapitre 6 : Restauration d’images• Chapitre 7 : Compression d’images• Chapitre 8 : Reconnaissance de formes• Chapitre 9 : Recalage d’images

Page 16: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Chapitre 1 : Introduction

1. Le traitement d’images

Trier le courrier

Contrôle automatique par la vision

Domaine militaire ( reconnaître automatiquement

la cible )

Compression des images

Page 17: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Chapitre 1 : Introduction

2. Notions élémentaires concernant Matlab

Langage de programmation de haut

niveau

Structure de base : Matrice

Page 18: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

• Création d’une matrice :

M = [1.2 3.14 5; 4 3.6 7 ];

• Pour des matrices de taille plus

importantes :

inf : pas : sup

Exemple : M = [3:7; 1.5:0.5:3.5];

Page 19: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

L’un des principaux intérêts de Matlab :

La manipulation directe de matrices sans passer par

la manipulation des composantes :

Exemple : C = A * B;

Rajouter des fonctions spécialement dédiées à différents

domaines d’application : Traitement du signal, Traitement

d’images, réseaux de neurones,..

boites à outils ou Toolbox

Page 20: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

• Pour écrire un programme Matlab, il suffit

de placer les instructions dans un fichier

portant l’extension .m.

• Il est conseillé de commencer chaque

programme par les lignes suivantes :

close all

clear

Page 21: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

3. Formats d’image en mémoire :

Images binaires : éléments valent 0 ou 1.

Exemple

Images d’intensités : élément est un réel

compris entre 0 et 1.

Exemple

Page 22: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Image couleur RGB

Superposition de 3 couleurs de base.

Exemple : Représenter une image couleur

par trois matrices ou chaque matrice

correspond à une couleur de base.

Page 23: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Les intensitées des images R, G et B

Lumière blanche Lumière rouge

Lumière verte Lumière bleue

Page 24: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Les images H, S et V

Lumière blanche Image de teinte (H)

Image de saturation (S) Image d’intensité (V)

Page 25: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Images couleur indexées : schéma d’une

image indexée.

Exemple

Page 26: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

4. Numérisation

La numérisation est la conversion du

signal électrique continu (dans l ’espace

ou temps et en valeur) en un signal

numérique discret (image numérique).

Page 27: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Numérisation

Scanner

Caméra numérique

Image réelle

Numérisation = échantillonnage + QuantificationNumériseurs

Page 28: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

• A chercher pour numériser une image :

– Combien d ’échantillons ?

– Quantification: Combien de niveaux discrets

sont suffisants pour couvrir la plage de

l’image ? (en bits).

– Tessellation : Forme des pixels ?

Page 29: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

D’un signal continu (analogique) à un signal discret (numérique): 3 étapes

Chaîne de numérisation d’un signal temporel (1-D)

Signal continu (référence)

Étape 1

Signal échantillonné

Signal quantifié (4 niveaux)

Étape 3

Étape 2

Codage (4 niveaux 2bits)

Page 30: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Quantification : l’amplitude du signal échantillonné est

représentée par un nombre fini de valeurs d’amplitude (niveaux

de quantification).

Échantillonnage : l’évolution du signal suivant la dimension

« t » (ici le temps) est représentée par un nombre fini de ses

valeurs. Les valeurs du signal sont prises régulièrement à une

période d’échantillonnage Te.

Codage : les niveaux de quantification sont codés sous la

forme d’un mot binaire sur k bits ( 2k niveaux possibles).

D’un signal continu (analogique) à un signal discret (numérique): 3 étapes

Page 31: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

CAS DES IMAGES

Les images sont des signaux 2-D, l’échantillonnage se fait selon les dimensions spatiales « x » et « y » (et non pas selon le temps comme précédemment).

Le nombre de niveaux de quantification de la luminance est généralement de 256, chaque niveau étant alors codé sur 8 bits (code binaire naturel).

Page 32: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Numérisation :

Page 33: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.
Page 34: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Tessellation (pavage) : C’est la forme du

pixel.

Le pavage est «choisi» pour couvrir au

mieux le plan image.

Le pavage est donc une partition du plan image

qui, une fois discrétisé, résulte en un maillage qui

représente la grille d’échantillonnage.

Page 35: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.
Page 36: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

5. Changement de format Matlab : les fonctions pour

passer d’un format à un autre :

indexé - intensité : I = ind2gray(X,map);

Indexé - RGB : [R,G,B] = ind2rgb(X,map);

RGB - indexé : [X, map] = rgb2ind(R,G,B);

RGB - intensité : I = rgb2gray(R,G,B);

Exemple : Traduire l’image indexée en image

intensité et en image RGB.

Page 37: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Généralement, Le passage de la couleur à

l’intensité est obtenu par la formule :

Intensité = α.r + β.g + γ.b

avec α + β + γ = 1

Page 38: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

6. Formats d’image sur disque

Le format Matlab ( fichiers *.mat )

Les formats graphiques standard : les formats jpeg et tiff ( fichiers *.jpg et *.tif)

pour le choix d’un format :

• Format tiff : images binaires ( compression

parfaite )

• Format jpeg : images de scènes réelles

• Format matlab : tout type d’image (sans compression),

lorsque l’on souhaite éviter toute

dégradation

Page 39: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Format des images: JPEG

Format JPEG (Joint Photo Expert Group)

Nb. couleurs : 16 millions (vraies couleurs)

Compression avec perte : Le taux de compression peut varier de 1% (meilleure qualité) à 99% (moins bonne qualité).

Animation : NonBeaucoup utilisé sur Internet pour sa taille mémoire réduite.

Page 40: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Format GIF (Graphics Interchange Format)

Nb. couleurs : 256 couleurs avec palette

Compression avec perte : Compression

sans perte

Animation : Oui

Ce format est très utilisé sur Internet.

Format des images : GIF

Page 41: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

• Exemple : ( Négatif d’une image )

Écrire un programme qui lit une image

couleur au format jpeg, puis la convertit en

image d’intensité. Visualisez cette image.

Ensuite, construire le négatif de l’image

(inversion des niveaux d’intensités) et

visualiser le résultat.

Page 42: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

7. Analyse élémentaire d’histogramme

Page 43: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

7.1. Histogramme

Image de 256 256 pixels, codés chacun sur 8 bits

Population de pixels pour chaque niveaux de gris [0 ; 255]

Pour chaque niveau de gris, compter le nombre de pixels s’y référant Pour chaque niveau, tracer le graphe en bâton du nombre de pixels

(possibilité de regrouper les niveaux proches en une seule classe)

Page 44: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Image « A » en niveaux de gris

Matrice des valeurs de luminance des pixels de l’image « A »

Histogramme de l’image « A »

2 2 2 2 2 2 2 22 0 0 0 0 0 0 22 0 1 1 1 1 0 22 0 1 0 0 1 0 22 0 1 1 1 1 0 22 0 1 0 0 1 0 22 0 0 0 0 0 0 22 2 2 2 2 2 2 2

Les niveaux 0, 1 et 2 sont respectivement  représentés par 24, 12 et 28 pixels représentation de cette population de pixels sur l'histogramme.

Exemple simple de calcul d’histogramme pour une image

L'image « A » comporte 3 niveaux de gris différents : 0, 1 et 2. Compter le nombre de pixels pour chaque niveau de gris, à l’aide de la matrice des valeurs de luminance.

Page 45: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

Exemple :

Afficher l’histogramme de l’image de

l’exercice , et celui de son négatif, sur 256

niveaux. Expliquer le résultat obtenu

Page 46: Introduction au traitement dimages Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.

7.2. Égalisation d’histogramme

Il s’agit de déterminer une transformation f des niveaux

d’intensité qui rend l’histogramme aussi plat que possible.

Objectif : Améliorer certaines images de mauvaises qualité.

Mauvais contraste

Images trop sombres ou trop claires

Mauvaise répartition des niveaux d’intensité

Exemple