Vous êtes sur la page 1sur 66

Traitement et analyse

d'images -ANIMAG
Juste au cas où ….
 Qui suis­je ? Et comment me joindre ?
Carole Frindel, CREATIS
carole.frindel@creatis.insa­lyon.fr

 Si vous avez des difficultés :
– Références à des ouvrages tout au long du cours
– Internet est vaste : soyez autonomes.

 Si ça ne répond pas à vos questions :
– Envoyez un mail à votre enseignant

Page : 2/15
Programme du cours
 Introduction
 Qu’est­ce qu’une image ?
 Traitements de base d’une image
 Convolution Numérique
 Traitements fréquentiels
 Détection des contours
 Segmentation
 Opérations sur les images binaires
 Reconnaissance des formes

Page : 3/15
Calendrier

Page : 4/15
Fonctionnement du cours
 Séance de 2 ou 4h (exceptionnellement). Alternance entre 
séance de cours et de TP
 Travaux pratiques
– Utilisation de Fiji sous Linux
– Programmation de macros sous Fiji
 Evaluation du cours
– Travaux pratiques (50%) + projet (50%)

Page : 5/15
https://planete.insa-lyon.fr/scolpeda/f/ects?id=22193&_lang=fr

Page : 6/15
Fiji
  Logiciel de traitement et analyse d'images, surcouche de 
ImageJ 
  ImageJ : logiciel multi­plateforme et open source de 
traitement et d'analyse d'images développé par les 
National Institutes of Health 
 Il est écrit en Java et permet l'ajout de nouvelles 
fonctionnalités via des plugins et macros
  Téléchargeable sur http://fiji.sc/Fiji
  Utilisé pour les travaux pratiques

Page : 7/15
Attention : accent mis sur les TP
 Ne surtout pas commencer à la dernière minute
– Travaillez en plusieurs fois
– Se laisser du temps pour réfléchir aux problèmes

 Du temps est donné en classe pour les TP
– Profitez­en pour avancer votre travail !
– Evitez de surfez le web dans les cours et relisez votre cours avant de 
venir en TP

Page : 8/15
Attention : accent mis sur les TP
 C’est un cours de traitement d’images !
– Découvrez le logiciel Fiji et ses fonctionnalités
– Ecrivez votre rapport en français
– Mais expliquez et démontrez le traitement d’images !

 Montrez des résultats sur les images
– Choisissez les images et expliquez vos résultats
– Faites le lien avec ce qui est vu en cours

Page : 9/15
Ouvrages en Traitement d’images
 Diane Lingrand. Introduction au Traitement 
d’Images, Vuibert, Paris, 2004.
 Alain Trémeau, Christine Fernandez­Maloigne 
& Pierre Bonton. Image Numérique Couleur, 
Editions Dunod, 2004.
 Rafael C. Gonzalez & Richard E. Woords. 
Digital Image Processing, 2nd edition, 
Prentice­Hall, 2002.
 Wilhelm Burger & Mark J. Burge. Digital 
Image Processing: An Algorithmic 
Introduction using Java, Springer, 2007.
Page : 10/15
Vision artificielle (Computer Vision)
 Qu'est ce que c'est ?
– connaissances et technologies qui permettent de concevoir des 
machines qui peuvent « voir »
 Premier niveau : vision
– acquiert une image grâce à une chaîne intégrant des éléments 
optiques et un capteur
 Deuxième niveau : traitement de l'image
– modifie le contenu de l'image afin de mettre en évidence des éléments 
d'intérêt (objets, contours) 
 Troisième niveau : reconnaissance
– utilise des techniques d'intelligence artificielle pour identifier des 
formes connues dans l'image

Page : 11/15
Extension de la perception humaine ? Oui
 Capteurs meilleurs que l'oeil humain
– voient ce que nous ne voyons pas directement, du fait 
de la limitation de notre système visuel 
 Autres propriétés optiques
– problème d'échelle, de résolution, de point de vue (ex : 
images satellitaires)
 Autres gammes de longueurs d'onde
– caméras multi­spectrales, infrarouge proche, 
thermiques (infrarouge lointain)
 Autres cadences
– caméras à haute cadence, plusieurs milliers d'images 
par seconde.

Page : 12/15
Mieux que la perception humaine ? Non
 Moins « intelligent » que l'humain
– même si les images initiales sont parfois très riches, le 
résultat de leur traitement par un système de VA reste 
souvent basique
 Puissance de calcul
– les systèmes de VA ont une capacité de calcul infiniment 
plus limitée que celle du cerveau humain, ou de celui des 
animaux évolués
 Connaissance et reconnaissance
– nous exploitons nos connaissances pour interpréter le 
contenu de l'image : on reconnaît parfois des objets alors 
qu'ils ne sont pas visibles

Page : 13/15
Exemple d'application de la VA :
imagerie médicale
 Objectifs
– aider le médecin lors du diagnostic, le chirurgien lors 
de la réalisation d'un geste opératoire
 Amélioration des images
– rehaussement du contraste, élimination du bruit, mise 
en évidence des détails
 Détection et localisation
– positionnement des organes, détection des tumeurs, 
mesure de dimensions et de volumes
 Imagerie interventionnelle
– assistance en­ligne au praticien : opérations réalisées 
sur les images en temps­réel

Page : 14/15
Vision industrielle : contrôle de la
qualité, de l'aspect, ...
 Objectifs
– éviter le contrôle visuel par un opérateur (tâche 
répétitive peu valorisante)
 Contrôle dimensionnel
– le système de vision détermine la dimension, la forme, 
la position de l'objet qu'il observe
 Contrôle d'aspect
– le système détermine la couleur, la texture des objets 
observés
 Contrôle de la qualité
– à partir des données précédentes, le système détermine 
la qualité d'un produit

Page : 15/15
Carole Frindel, CREATIS
Qu'est-ce qu'une image ?
Niveaux de gris - 8 bits:
0 - noir
255 - blanc

64 60 69 100 149 151 176 182 179


65 62 68 97 145 148 175 183 181
65 66 70 95 142 146 176 185 184
66 66 68 90 135 140 172 184 184
66 64 64 84 129 134 168 181 182
59 63 62 88 130 128 166 185 180
60 62 60 85 127 125 163 183 178
62 62 58 81 122 120 160 181 176
63 64 58 78 118 117 159 180 176
2
Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).
Qu'est-ce qu'une image ?

 Une image est avant tout un signal 2D (x,y)


 Souvent, cette image représente une réalité 3D
(x,y,z)

 D'un point de vue mathématique :


 Une image est un matrice de nombres représentant un signal
 Plusieurs outils permettent de manipuler ce signal

 D'un point de vue humain :


 Une image contient plusieurs informations sémantiques
 Il faut interpréter le contenu au-delà de la valeur des nombres

4
Images naturelles et artificielles
 Image naturelle – Plusieurs moyens d'acquisition
 caméra, microscope, tomographie, infra-rouge, satellite, …

 Image artificielle – Plusieurs outils de représentation


 synthèse d'images, réalité virtuelle, visualisation scientifique, …

Image naturelle Image artificielle Image artificielle


5
Trois principaux types d'images

Images en niveaux de gris Images binaires Images couleurs


I(x,y) ∈ [0..255] I(x,y) ∈ {0 , 1} IR(x,y) IG(x,y) IB(x,y)

… et plus encore (image 3D, image réelle, …)

Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel). 6


Image couleur dans l'espace RVB

Mais il existe aussi


d’autres codages de
la couleur que RVB…

CVIPTools : File>View Band>{Red,Green,Blue} / Utilities>Convert>Color to Gray


7
Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).
Acquisition des images

8
Acquisition d'une image

Monde Caméra Numériseur Image


numérique

Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel). 9


Capteur – Principe général

 Principe général (ex: photodiode)


 L'énergie incidente est convertie en signal électrique
 Sortie est proportionnelle à la lumière
 Filtre pour augmenter la sélectivité

10
Capteurs – Matrice 2D

KAF-1600 - Kodak.

11
Capteur CCD

 Caméras numériques CCD


 Matrice CCD (Charged Coupled Devices)
 Système d'acquisition numérique 2D le plus utilisé
 La réponse est proportionnelle à l'intégrale de l'énergie
lumineuse qui atteint chaque élément
 Pour la couleur, on utilise trois capteurs par pixel réagissant à
des longueurs d'ondes différentes (rouge, vert et bleu)

12
Image numérique
 Les valeurs de f (x,y) sont la réponse du capteur au
phénomène observé
 Les valeurs de f (x,y) sont des valeurs de « voltage »
continu
 Les valeurs de f (x,y) doivent être converties vers le
domaine numérique
 Conversion Analogique/Numérique (A/N)

 Deux procédés sont impliqués pour numériser une image :

Numérisation = Échantillonnage + Quantification

13
Echantillonnage et quantification

14
Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.
Echantillonnage et quantification

 L’échantillonnage est limité par la capacité du


capteur, donc le nombre de pixels disponible (ou autre
limite imposée)
 La quantification est limitée par la quantité de tons
(de gris) définie dans l’intervalle

15
Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.
Echantillonnage et quantification

Avec un capteur à matrice :

16
Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.
Echantillonnage et quantification

CVIPTools : Utilities>Size>Spatial Quant / Utilities>Convert >Gray Level Quantization


17
Représentation des images

 Matrice de dimension M X N
 Chaque élément à une valeur entière dans l'intervalle
[Lmin , Lmax]

 Le nombre de « bits » requis pour représenter les


niveaux de gris dans l’intervalle « L » est « K »
 La relation entre « K » et « L » est :
L=2K

 Le nombre de bits pour entreposer un image est donc :


b=MXNXK

18
Résolutions des images

 Résolution spatiale
 Le plus petit détail discernable

 Résolution tonale (de tons de gris)


 Le plus petit changement discernable

 Une image a donc une résolution spatiale de M X N pixel


et une résolution de tons de gris de K bits ou de L
niveaux ou tons

19
Résolutions spatiale et tonale
Résolution spatiale : échantillonage

Résolution tonale : quantification

20
Source : Antoine Mazanera. Introduction et filtrage. ENSTA (France).
Profils d’intensité dans une image

25
Profil d'intensité d'une image
 Un profil d’intensité d’une ligne dans une image est
représenté par des signaux 1D.

26
Lectures suggérées

●Introduction au Traitement d’Images (Lingrand) :


chapitre 1

●Digital Image Processing: An Algorithmic Introduction


using Java (Burger & Burge) : chapitre 2

●Wikipédia : Traitement d'images, Image numérique,


Image matricielle, Image resolution, Niveaux de gris,
Quantification
Histogramme d'une image

Nombre
de pixels

Niveau de gris

 L'histogramme représente la distribution des niveaux


de gris (ou de couleurs) dans une image
 H(k) = nombre de pixels de l'image ayant la valeur k.

CVIPTools : File>Show Histogram


2
Histogramme d'une image
PI(k)
1

PI(k)
1

0.5

k
PI(k)
0.1

Dynamique d'une image = [valeur_min,valeur_max]


3
Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).
Luminance ou brillance d'une image
 La luminance (ou brillance) est définie comme la
moyenne de tous les pixels de l'image.
 Dans les deux images suivantes, seule la luminance
est différente :

CVIPTools : Utilities>Stats>Image Statistics (Mean)


Source : Eric Favier. L'analyse et le traitement des images. ENISE (France). 4
Contraste d'une image

 Le contraste peut être défini de plusieurs façons :


 Ecart-type des variations des niveaux de gris

 Variation entre niveaux de gris min et max

CVIPTools : Utilities>Stats>Image Statistics (S.D.)


5
Contraste d'une image

Les deux images suivantes possèdent un contraste différent :

Source : Eric Favier. L'analyse et le traitement des images. ENISE (France). 6


Exemples de contrastes d’une
image

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 7


Amélioration du contraste

 Plusieurs méthodes possibles :


 Transformation linéaire
 Transformation linéaire avec saturation
 Transformation linéaire par morceau
 Transformation non-linéaire
 Égalisation de l’histogramme

CVIPTools : Enhancement>Histograms
8
Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire
I’

255 max− min 255− 0


=
I i , j − min I ' i , j − 0
I’(i,j) Alors :
255
I ' i , j =  I i , j − min 
0 max− min
min I(i,j) max I

255 ( I (i , j ) −min)
I ' (i, i) = ( I (i, j ) − min) avec ∈[0,1]
max − min max − min
CVIPTools : Enhancement>Histograms>Linear Modification
9
Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire
%
255

255 0 255
min max

255

255
min max 0 255
10
Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Implémentation…

 Utilisation d’une LUT


Pour i=1 à nblig
Pour j=1 à nbcol (Look Up Table)
I’(i,j) = 255*(I(i,j)-minI)
/(maxI-minI); /* Initialisation de la LUT */
Pour i=0 à 255
LUT[i]=255*(i-minI)/(maxI-minI);
/* Initialisation de la LUT */
Pour i=1 à nblig
Pas optimal Pour j=1 à nbcol
I’(i,j) =LUT[I(i,j)];

11
Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire avec saturation
%
255

255 0 255
Smin Smax
255

255
min max
Smin Smax 0 255
12
Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire avec saturation

255
I ' (i, j ) = ( I (i, j ) − Smin )
Smax − Smin
I ' (i, j ) ≤ 0 ⇒ I ' (i, j ) = 0
I ' (i, j ) ≥ 255 ⇒ I ' (i, j ) = 255

min(I (i, j )) ≤ Smin < Smax ≤ max(I (i, j ))

13
Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire par
morceaux
%
255

255 0 255
Smin Smax
255

255
min max
Smin Smax 0 255
S
14
Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire par morceaux

Exemple d’une
fonction ad-hoc
de modification
du contraste de
l’image.

15
Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.
Correction de la dynamique de l'image

Image originale Image restaurée

CVIPTools : Utilities>Stats>Image Data Range + Enhancement>Histograms>Histogram Stretch


18
Source : www.crans.ens-cachan.fr/~genest/histogramme.pdf
Correction de la dynamique de l'image

Dans le cas où l'histogramme initial occupe toute la plage de


dynamique, aucun changement n'est visible.

Source : www.crans.ens-cachan.fr/~genest/histogramme.pdf 19
Egalisation de l'histogramme

3500 3500

3000 3000

2500 2500

2000 2000

1500 1500

1000 1000

500 500

0 0
0 50 100 150 200 250 0 50 100 150 200 250

Image originale Image plus contrastée


CVIPTools : Enhancement>Histograms>Histogram Equalization
20
Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).
Egalisation de l'histogramme
 Pour améliorer le contraste, on cherche à aplanir l’histogramme
hk  h ideal  k 

k k
 Etape 1 : Calcul de l'histogramme hi  i∈[ 0, 255]
Etape 2 : Normalisation de l'histogramme hi 
h n i = i∈[ 0, 255]

(Nbp : nombre de pixels de l‘image)


Nbp
i
Etape 3 : Densité de probabilité normalisé
C i = ∑ h n  j 

i∈[ 0, 255]
j= 0
 Etape 4 : Transformation des niveaux de gris de l'image

f '  x , y=C  f  x , y× 255


Note : voir ImAnalyse pour des exemples d'histogrammes cumulés 21
Egalisation de l'histogramme

L'égalisation d'histogramme peut améliorer une image là où la


correction de dynamique de l'histogramme est inefficace.
22
Egalisation de l'histogramme
Si on prend la même image avec des contrastes
différents, l’égalisation d’histogramme donne le même
résultat pour toutes les images.

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 23


Egalisation (locale) de
l'histogramme
Image originale Egalisation Egalisation locale
globale

L’égalisation locale de l’histogramme est faite en prenant une


fenêtre de 7x7 autour de chaque pixel.
CVIPTools : Enhancement>Histograms>Local Equalization
Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 24
Opérations sur les images (ET,OU)
Les opérations logiques fonctionnent aussi sur les images.

ET =

OU =

CVIPTools : Utilities>Arith/Logic>{AND,OR}
Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 25
Opérations sur les images (ET,OU)

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 26


Addition d’images

 Si f et g sont deux images, on peut définir


l’addition R pixel à pixel de ces deux
images par :
R(x,y) = Min( f(x,y)+g(x,y) ; 255 )

 L’addition d’images peut permettre


 De diminuer le bruit d’une vue dans une série
d’images
 D’augmenter la luminance en additionnant une
image avec elle-même

CVIPTools : Utilities>Arith/Logic>Add
27
Source : Eric Favier. L'analyse et le traitement des images. ENISE.
Soustraction d’images

 On peut définir la soustraction


S pixel à pixel de deux images
f et g par :
S(x,y) = Max( f(x,y)-g(x,y) ; 0 )

 La soustraction d’images peut


permettre
 Détection de défauts
 Détection de mouvements

CVIPTools : Utilities>Arith/Logic>Substract
28
Source : Eric Favier. L'analyse et le traitement des images. ENISE.
Multiplication d’images
 La multiplication S d’une image f par un ratio (facteur) peut se définir par :
S(x,y) = Max( f(x,y)*ratio ; 255)

 La multiplication d’images peut permettre d’améliorer le contraste ou la


luminosité

x1,5 = x1,2 =

CVIPTools : Utilities>Arith/Logic>Multiply
29
Source : Eric Favier. L'analyse et le traitement des images. ENISE.
Opérations sur les images (+,-)
0.5*F(x,y) + 0.5*G(x,y)
F(x,y)

G(x,y)
G(x,y) - F(x,y) -
F(x,y) G(x,y)

Source : www.nte.montaigne.u-bordeaux.fr/SuppCours/5314/Dai/TraitImage01-02.ppt 30
Lectures suggérées

●Introduction au Traitement d’Images (Lingrand),


chapitre 4

●Digital Image Processing: An Algorithmic Introduction


using Java (Burger & Burge) : chapitres 4 et 5

●Wikipédia : Histogramme, Brightness (luminance),


Contrast, Lookup table, Color balance (amélioration du
contraste), Egalisation d'histogramme

Vous aimerez peut-être aussi