Introduction au traitement d’images Simulation sous Matlab

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

description

Introduction au traitement d’images Simulation sous Matlab. Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda. Le traitement d’image et vision par ordinateur. La vision par Ordinateur. Vision Artificielle VA. - PowerPoint PPT Presentation

Transcript of Introduction au traitement d’images Simulation sous Matlab

Page 1: Introduction au traitement d’images Simulation sous Matlab

Introduction au traitement d’images

Simulation sous Matlab

Professeur. Mohammed Talibi Alaoui

Département Mathématique et Informatique, Oujda

Page 2: Introduction au traitement d’images Simulation sous Matlab

Le traitement d’image et vision par

ordinateur

Page 3: Introduction au traitement d’images Simulation sous Matlab

La vision par Ordinateur

Page 4: Introduction au traitement d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

Imagerie Médicale

Rehaussement du contraste d’une radiographie de la cage thoracique

Page 7: Introduction au traitement d’images Simulation sous Matlab

Imagerie Médicale

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

Page 8: Introduction au traitement d’images Simulation sous Matlab

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

Imagerie Médicale

Page 9: Introduction au traitement d’images Simulation sous Matlab

Traitement d’Image

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

Page 10: Introduction au traitement d’images Simulation sous Matlab

Traitement d’Image

Restauration d’images

(dégradation connue)

Page 11: Introduction au traitement d’images Simulation sous Matlab

Applications TI

Page 12: Introduction au traitement d’images Simulation sous Matlab

Systèmes à base de TI

Page 13: Introduction au traitement d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

• Variations dans le processus de formation de

l’image

– Éclairage

– Qualité du capteur

– Qualité du système

– …

Page 15: Introduction au traitement d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

Chapitre 1 : Introduction

2. Notions élémentaires concernant Matlab

Langage de programmation de haut

niveau

Structure de base : Matrice

Page 18: Introduction au traitement d’images Simulation sous Matlab

• 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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

• 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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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

image indexée.

Exemple

Page 26: Introduction au traitement d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

Numérisation

Scanner

Caméra numérique

Image réelle

Numérisation = échantillonnage + QuantificationNumériseurs

Page 28: Introduction au traitement d’images Simulation sous Matlab

• 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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

Numérisation :

Page 33: Introduction au traitement d’images Simulation sous Matlab
Page 34: Introduction au traitement d’images Simulation sous Matlab

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 d’images Simulation sous Matlab
Page 36: Introduction au traitement d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

• 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 d’images Simulation sous Matlab

7. Analyse élémentaire d’histogramme

Page 43: Introduction au traitement d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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 d’images Simulation sous Matlab

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