Introduction au traitement d’images Simulation sous Matlab

Post on 30-Dec-2015

162 views 7 download

Tags:

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

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

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

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.

Imagerie Médicale

Rehaussement du contraste d’une radiographie de la cage thoracique

Imagerie Médicale

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

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

Imagerie Médicale

Traitement d’Image

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

Traitement d’Image

Restauration d’images

(dégradation connue)

Applications TI

Systèmes à base de TI

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

• Variations dans le processus de formation de

l’image

– Éclairage

– Qualité du capteur

– Qualité du système

– …

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

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

Chapitre 1 : Introduction

2. Notions élémentaires concernant Matlab

Langage de programmation de haut

niveau

Structure de base : Matrice

• 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];

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

• 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

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

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.

Les intensitées des images R, G et B

Lumière blanche Lumière rouge

Lumière verte Lumière bleue

Les images H, S et V

Lumière blanche Image de teinte (H)

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

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

image indexée.

Exemple

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).

Numérisation

Scanner

Caméra numérique

Image réelle

Numérisation = échantillonnage + QuantificationNumériseurs

• 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 ?

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)

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

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).

Numérisation :

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.

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.

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

l’intensité est obtenu par la formule :

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

avec α + β + γ = 1

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

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.

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

• 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.

7. Analyse élémentaire d’histogramme

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)

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.

Exemple :

Afficher l’histogramme de l’image de

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

niveaux. Expliquer le résultat obtenu

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