You are on page 1of 43

15/12/2010

1
IINFOGRAPHIE NFOGRAPHIE &&TTRAITEMENT RAITEMENT
NNUMRIQUE UMRIQUE DI DIMAGES MAGES
Dr. Sami GAZZAH
ISITCOM Hammam Sousse
Sami Gazzah 2009 1
Plan du cours Plan du cours
Objectifs:
Matriser les concepts de base lis limagerie numrique 2D sur
ordinateur.
Dvelopper une mthodologie de traitement numrique d'images
et de manipulation dobjets graphiques.
Comprendre et appliquer les notions dinfographie 2D et 3D dans
le cadre du dveloppement et de lutilisation dun logiciel
graphique;
9h35 12h35
Thorie (15 h)
Travaux pratiques (6h)
Projets Personnel (20h)
11 dcembre
Sami Gazzah 2009 2
Contenu du cours Contenu du cours
1. Introduction : traitement dimage Versus Infographie
2. Transformations sur les images
3. Restauration dImages
4. Rehaussement dimages
5. Segmentation dimages
6. Introduction aux oprateurs morphomathmatique
7.Transformations gomtriques 2D
8. Gnration de segments de droite et de cercles en 2D
9. introduction au traitement d'images avec OpenGL
10. introduction au traitement d'images avec OpenCV
3
Travaux pratiques Travaux pratiques
Six travaux pratiques pour apprendre manipuler et traiter des
images. Les travaux sont effectus en langage MATLAB.
TP1 :Manipulation dimages niveaux de gris et couleurs
TP2: Manipulation sur lanalyse lmentaire dimage
(Hist.)
TP2 : Compression
TP3 : Restauration dimages par transformations
gomtriques
TP6 : Filtrage : dtection de contours, lissage, etc
Sami Gazzah 2009 4
Sami Gazzah 2009 5
Chapitre1:
Traitement dimage
Versus
Infographie
1. Traitement dimage Vs Infographie 1. Traitement dimage Vs Infographie
1.1 Traitement dimage 1.1 Traitement dimage
Pour ltre humain, limage constitue lune des
principales sources dinformations.
Une scne contient une quantit importante
dinformations quil est utile parfois de traiter
et danalyser dans le but de prendre des
dcisions.
Sami Gazzah 2009 6
15/12/2010
2
1950-1970 : Traitement de limage :
Lexistence dimages de mauvaises qualits (Rayons X, OCR, ) et
volumineuses a conduit les chercheurs sintresser :
La restauration (corriger les dfauts lis l'acquisition),
Lamlioration (rendre l'image "belle" pour l'affichage),
La compression (rduire le volume de l'image)
Sami Gazzah 2009 7
1. Traitement dimage Vs Infographie 1. Traitement dimage Vs Infographie
1.2 Historique.. 1.2 Historique..
1970-1980 : Du traitement vers linterprtation :
Lvolution naturelle vers l'extraction automatique d'informations a
conduit lapparition de nouvelles notions telles que :
Lanalyse dimages en vue de lextraction automatique
dinformation do les thmes : seuillage, segmentation,
extraction de contours, morphologie mathmatique (pour les
images binaires), ...
Linterprtation d'images et les systmes experts
Sami Gazzah 2009 8
1. Traitement dimage Vs Infographie 1. Traitement dimage Vs Infographie
1.2 Historique.. 1.2 Historique..
Sami Gazzah 2009 9
1980- : La vision par ordinateur
De l'image 2D aux modles tri- dimensionnels
Analyse du mouvement
Vision pour la robotique (mouvement, 3D, dtection
d'obstacle, trajectoire)
les bibliothques numriques
Transmission (codage et rseaux)
1. Traitement dimage Vs Infographie 1. Traitement dimage Vs Infographie
1.2 Historique.. 1.2 Historique..
les bibliothques numriques : les bibliothques numriques : Reconnaissance de Reconnaissance de
lcriture OCR lcriture OCR
Sami Gazzah 2009 10
Traitement automatique des chques
Tri- postale
Sami Gazzah 2009 11
Imagerie biologique
Imagerie biologique:
Identification des cellules, bactries, virus
comptage des cellules
Sami Gazzah 2009 12
Imagerie mdicale
Imagerie mdicale:
Aide au diagnostique
Reconstruction 3D des images Image de scintigraphie cardiaque
Reconstruction 3D
f6cilusq
15/12/2010
3
Sami Gazzah 2009 13
Vision robotique
Vision des robots :
Robots autonomes
Intervention en milieu contamin
Sonde dexploration
Robotique mdical
Assistance au geste mdical
Sami Gazzah 2009 14
Imagerie arienne et satellitaire
Analyse des ressources terrestres
Mto
Cartographie
Astronomie
Sami Gazzah 2009 15
Biomtrie
Reconnaissance dempreintes digitales
Reconnaissance de visage
Reconnaissance diris
Reconnaissance du style dcriture du scripteur
Sami Gazzah 2009 16
Vidosurveillance
Dtection de mouvements et
reconnaissance de comportement
Analyse de plaque dimmatriculation
Dtection automatique dincidents
Sami Gazzah 2009 17
Infographie
Ensemble de techniques permettant de crer et de manipuler
des images synthtiques.
Produit final image synthtique.
Informatique Graphisme
&
Sami Gazzah 2009 18
15/12/2010
4
1. Traitement dimage Vs Infographie 1. Traitement dimage Vs Infographie
Sami Gazzah 2009 19
descriptif
Modle
descriptif
Infographie
(Informatique+Graphisme)
Reconnaissance de formes
(vision)
Image
Traitements
dimages
Sami Gazzah 2009 20
Parmi les capteurs on peut distinguer:
les capteurs thermiques (thermopiles)
les films photographiques
les capteurs photolectriques (photodiodes, CCD,
CMOS,)
Le signal obtenu est caractris par:
sa dimension : 1D, 2D ou 3D
sa nature
2. Acquisition des images (1)
Sami Gazzah 2009 21
La reprsentation informatique dune image est
ncessairement discrte alors quune image est de nature
continue.
Certains capteurs effectuent une discrtisation.
La transformation dun signal analogique 2D ncessite :
Une discrtisation de lespace: cest lchantillonnage.
Une discrtisation des couleurs: cest la quantification.
2. Acquisition des images (2)
Sami Gazzah 2009 22
2. Acquisition des images (3)
Sami Gazzah 2009 23
2. Acquisition des images (4)
Sami Gazzah 2009 24
Signal lumineux
Capteur CCD Signal lectrique
2. Acquisition des images (5)
15/12/2010
5
Sami Gazzah 2009 25
Pour numriser des images, deux oprations :
chantillonnage
quantification
3. Reprsentation dune image numrique
Sami Gazzah 2009 26
3. Reprsentation dune image numrique
Sami Gazzah 2009 27
Valeurs du dtail de limage Lena
Lena et un dtail de limage
3. Reprsentation dune image numrique
Sami Gazzah 2009 28
(1) Maillage (2) Quantification
pixel (picture element)
Discrtisation de lespace 2D, on dcoupe limage en pixels
3. Reprsentation dune image numrique
Sami Gazzah 2009 29
Une rsolution trop faible peut causer des problmes daliasing !!
Apparition descaliers sur les contours obliques
3. Reprsentation dune image numrique
Sami Gazzah 2009 30
3. Reprsentation dune image numrique
15/12/2010
6
Sami Gazzah 2009 31
255
255
255
255
255
80
80
80
50
40
255
255
70
255
20
255
255
60
40
0
255
255
255
255
255
Image en niveaux de gris et sa reprsentation matricielle
Discrtisation de lespace des couleurs ou niveaux de gris
Une quantification trop faible peut causer des problmes de faux contours
3. Reprsentation dune image numrique
Sami Gazzah 2009 32
Pavage en quinconce Pavage carr
Pavage hexagonale
Pavage triangulaire
3. Reprsentation dune image numrique
3. 1. Pavage ou tesselation
A chaque chantillonneur (sommet du maillage), on associe une
surface lmentaire dite "pav" ou "tesselle".
Les pixels sont gnralement arrangs sous forme rectangulaire, dans
un tableau 2D il peut exister dautres pavages ou tesselations :
Le pavage hexagonale,
Le pavage triangulaire ou carr
Le pavage rectangulaire en quinconce.
Sami Gazzah 2009 33
Certains pavage sont motivs par :
leurs adquation avec le systme dacquisition: exemple le pavage
quinconce correspond certains systmes dacquisitions embarqus dans
les satellites (satellite spot 5).
des relations gomtriques telles que le voisinage: nombre des pixels
voisins connexes. (4, 6, 8, 32,).
3. 1. Pavage ou tesselation choixmotivation
3. Reprsentation dune image numrique
8 voisins
4 voisins 6 voisins
Sami Gaz 29 oct 2010 34
Source : http://www.eoportal.org/directory/pres_SPOT5.html
systmes dacquisitions du
satellite spot 5
Introduction du Super-Mode: permet la
cration dune image 2,5 mtres de
rsolution partir de deux images 5 mtres
(acquises simultanment avec un demi-pixel
de dcalage)
Sami Gazzah 2009 35
Pour un ordinateur une image ensemble de pixels
Un pixel possde une valeur : scalaire, vecteur,
Ordre de grandeur :
o si un pixel est cod sur 8 bits 2
8
=256 couleurs ou niveau de gris
o si ...sur 16 bits 2
16
=65 536 couleursplus despace
o .24 bits 2
24
=16 777 216 couleursencore ++
3. Reprsentation dune image numrique
3. 2. Codage des pixels
Sami Gazzah 2009 36
3. Reprsentation dune image numrique
3. 3. Distance entre pixels
Diffrents distances entre 2 points P(i,j) et P(k,l) peuvent tre utilises:
i
j
l
k
1. Distance euclidienne :
+ Cette distance ne privilge
aucun axe
2 2
) ( ) ( ) , ( ), , ( ( j l i k l k P j i P + = o
15/12/2010
7
Sami Gazzah 2009 37
3. Reprsentation dune image numrique
3. 3. Distance entre pixels
Diffrents distances entre 2 points P(i,j) et P(k,l) peuvent tre utilises:
i
j
l
k
2. Distance blocks:
Cette distance est appel galement
Manhatten distance
il faut contourner les blocs
dhabitations pour relier deux points
Manhatten city NY
Sami Gazzah 2009 38
3. Reprsentation dune image numrique
3. 3. Distance entre pixels
Diffrents distances entre 2 points P(i,j) et P(k,l) peuvent tre utilises:
i
j
l
k
3. Distance tour dchiquier:
Sami Gazzah 2009 39 Sami Gazzah 2009 40
4. Formats dimages
Une image vectorielle est reprsente par des formes gomtriques simples :
Ligne : point de dpart, point darrive,
Triangle :3 sommets, la couleur du contour, la couleur intrieure
(remplissage),
Ex: PAO (publication assiste par ordinateur), DAO (dessin assist par
ordinateur), etc
Une image matricielle est reprsente par des matrices de pixels Bitmap
(image en mode point)
Ex: image en niveaux de gris ou couleurs de type photo : GIF, PCX, BMP,
JPEG, PPM, PGM
4. 1. Image vectorielle Vs. Image matricielle
Sami Gazzah 2009 41
4. Formats dimages
4. 1. Images vectorielles Vs. Images matricielles
Images vectorielles Images matricielles
Avantages Inconvnients Avantages Inconvnients
Peu de place en
mmoire.
Peut devenir gros
pour une image
complexe.
Aucun calcul pour
laffichage.
Peuvent occuper
beaucoup despace
mmoire.
Redimensionnement
sans perte
dinformations.
Beaucoup de calculs
pour laffichage.
La complexit de
limage ninflue pas
sur sa taille.
Aucun aliasing si on
manipule lobjet
graphique.
Sami Gazzah 2009 42
4. Formats dimages
4. 2. Stockage des images
o Pour la mmorisation des images sur disque mmoire : on stocke les informations
concernant les image dans un en-tte puis les donnes (valeurs de pixels) .
o Len-tte contient la largeur et la hauteur de limage aussi on peut ajouter dautres
informations telles que le type de donnes, lauteur, la date,
o Pour certains formats len-tte et les donnes sont stocks dans 2 fichiers
diffrents.
o Les donnes sont souvent stockes dans lordre des pixels de gauche droite et
de haut en bas.
o Les anciens formats sont simples et trs facile lire et crire :
PBM : pour des images binaires
PGM : pour des images en niveaux de gris
PPM : pour des images couleurs
o Les formats les plus courants sont : GIF, PCX, BMP,TIFF et JPEG.
15/12/2010
8
Sami Gazzah 2009 43
4. Formats dimages
4. 2. Stockage des images
4.2.1. format PBM (Portable Bit Map)
Nombre de colonnes=10
N
o
m
b
r
e

d
e

c
o
l
o
n
n
e
s
=
1
0
P1: signifie quil sagit dun format PBM et que les donnes sont stockes en ASCII
# : signifie quil sagit dune ligne de commentaire
Sami Gazzah 2009
44
4. Formats dimages
4. 2. Stockage des images
4.2.1. format PGM(Portable Gray Map)
P2: signifie quil sagit dun format PGM et que les donnes sont stockes en ASCII
Sami Gazzah 2009
45
4. Formats dimages
4. 2. Stockage des images
4.2.1. format PPM(Portable Pixel Map)
P3: signifie quil sagit dun format PPM et que les donnes sont stockes en ASCII
Les valeurs des pixels sont donnes pixel par pixel.
Sami Gazzah 2009 46
Sami Gazzah 2009 47
5. Elments de Colorimtrie
Un prisme spare la lumire blanche en ses couleurs
Sami Gazzah 2009 48
6. Les systmes de reprsentation des couleurs
Kunt a dmontr quen combinant trois longueurs dondes particulires, il est
possible de synthtiser presque toutes les couleurs existantes. Les trois
couleurs de base sont dites couleurs primaires . Une couleur peut donc tre
reprsente dans un espace trois dimensions. Il en existe plusieurs :
- Systme RGB (Red Green Blue)
- Systme CMY (Cyan Magenta Yellow)
- Systme XYZ
- Systme HLS (Hue Magenta Saturation)
Image couleur et sa reprsentation matricielle
15/12/2010
9
Sami Gazzah 2009 49
Images couleurs (24 bits)
Lespace couleur Rouge Vert Bleu (RGB)
Sami Gazzah 2009 50
Valeur R Valeur V Valeur B
Couleur
correspondante
Commentaires
0 0 0 . noir
... ... ... ... ...
0 0 255 . bleu
... ... ... ... ...
0 255 0 . vert
... ... ... ... ...
255 0 0 . rouge
... ... ... ... .
128 128 128 .
couleur
intermdiaire
correspondant
un gris
255 255 255 . blanc
Sami Gazzah ISITCom2009
51
Exemple de dcomposition dune image couleur en 3 plans de couleur :
(a) image originale, (b)canal rouge, (c)canal vert, (d)canal bleu
(b) (a)
(c)
(d)
Sami Gazzah 2009 52
Lespace couleur Cyan, Magenta et Jaune (GMJ)
les couleurs primaires CMJ sont ici les complmentaires des RVB
utilis par certaines imprimantes couleurs jet d'encre
les diffrentes couleurs sont obtenues par soustraction du blanc
Sami Gazzah 2009 53
Le principe de l'espace HSV est de caractriser les couleurs de faon plus
intuitive, conformment la perception naturelle des couleurs, en termes de :
1. teinte (Hue): intuitivement, c'est le nom qu'on utilisera pour dsigner la couleur,
"vert", "mauve", etc. Idalement associ une longueur d'onde,
2. saturation (Saturation):c'est le taux de puret de la couleur, qui doit varier
entre la puret maximale (couleur clatante) et l'achromatisme (niveau de gris).
3. valeur (Value): c'est la mesure de l'intensit lumineuse de la couleur, qui doit
varier entre le noir absolu et le blanc.
Images HSV
Composante valeur
Composante saturation
Composante teinte
Sami Gazzah 2009 54
Pour passer de la reprsentation initiale (RGB) cette reprsentation, on opre
de la manire suivante:
15/12/2010
10
Sami Gazzah 2009 55
Quelques caractristiques dimages numriques
La rsolution d'une image = nombre de pixels par unit de longueur de la
structure numriser (dpi (dots per inches) ou ppp (pixel par pouce).
La rsolution du format de l'image =nombre de pixels qui compose l'image en
hauteur et en largeur (512 pixels par 512 pixels par exemple).
La taille des donnes pour une image (en bits) = N
lignes
x N
colonnes
x B
La profondeur de bits = nombre de bits ncessaire pour reprsenter un pixel dans
limage numrique
La dynamique d'une image= l'tendu de la gamme de couleurs 2
nbre de bits/pixels
1
Le poids dune image numrique est lespace mmoire quelle occupe sur un
support de stockage numrique = nombre de bits par pixel x nombre total de pixels
Sami Gazzah 2009 56
une image 200*200 pixels en niveaux du gris fait un poids de
200*200=40000 octets
image de 200*200 pixels en vraies couleurs (16 millions) (24 bits):
200*200*3= 120000 octets (117 Ko).
image de 200*200 pixels en fausses couleurs (256 couleurs) (8 bits):
200*200*1= 40000 octets (39 Ko)
Taille des l'images en pixels
Sami Gazzah 2009 57
Exercice dapplication :
Soit une image carre au format PPM(ASCII) de 160 Ko.
Quelles sont, approximativement, les dimensions de cette image si
on nglige la taille de len-tte.?
Quelle serait la taille du fichier si cette image tait stocke en
binaire ?
Remarques : Le format PPM (Portable Pixel Map) concerne les
images couleurs. Chaque pixel a pour valeur un triplet (R,G,B) et
chaque couleur est exprime par un caractre et un espace.
Sami Gazzah 2009 58
Formats de fichiers d'images
Une image est un tableau de pixels :
Une image est stocke soit dans un fichier sous la forme de texte, soit dans la
mmoire de l'ordinateur sous la forme d'un vecteur :
Sami Gazzah 2009 59
Les oprations de bases concernant une image sont la lecture (fichier vers
mmoire) et l'criture (mmoire vers fichier). Les informations
ncessaires la manipulation d'une image sont :
nombre de lignes,
nombre de colonnes,
format des pixels (bit, niveaux de gris, niveaux de couleurs),
compression ventuelle.
Il existe une multitude de formats de fichiers permettant de stocker ces
informations ainsi que le tableau des valeurs. En particulier :
Les formats simples : fichiers textes comportant un entte contenant
les dimensions de l'image et le format des pixels. Exemples, les formats
PNM (portable anymap) : PBM (portable bitmap), PGM (prtrable
grayscalemap), PPM (portable pixmap). Les fichiers correspondants sont
constitus des lments suivants :
Sami Gazzah 2009 60
1. Un "nombre magique" pour identifier les type du fichier : P1 ou P4
pour PBM, P2 ou P5 pour PGM et P3 ou P6 pour PPM.
2. Un caractre d'espacement (blanc, TABs, Cs, LFs).
3. La largeur de l'image (valeur dcimale, code en ASCII) suivie d'un
caractre d'espacement, la longueur de l'image (valeur dcimale,
ASCII) suivie d'un caractre d'espacement.
4. Uniquement pour PGM et PPM : l'intensit maximum (valeur dcimale
comprise entre 0 et 255, code en ASCII) suivie d'un caractre
d'espacement.
5. Largeur x hauteur nombres. Ces nombres sont soit des valeurs
dcimales codes en ASCII et spares par des espacements dans le
cas des formats P1, P2, P3, soit directement les valeurs binaires sur 1
ou 2 octets dans le cas des formats P4, P5, P6. Dans ce dernier cas, il
n'y pas de caractres d'espacement entre les valeurs.
15/12/2010
11
Sami Gazzah 2009 61
Chapitre 2 :
Transformations sur les images
Sami Gazzah 2009 62
Les transformations peuvent tre classes de la manire suivante:
Transformations ponctuelles.
Transformations de voisinage.
Transformations spectrales.
Transformations morphologiques.
Au cours du processus de traitement et danalyse, limage subit une srie
de transformations.
Introduction
Image source
Transformation Transformation
TT
Image transforme
Sami Gazzah 2009 63
1. Transformations ponctuelles
A partir d'une image source, la nouvelle valeur du pixel dpend uniquement de
son ancienne valeur.
Exemple : seuillage, ajustement luminosit/contraste, oprations algbriques,
oprations logiques et arithmtiques, manip. d'histogramme.
1. Oprations logiques et arithmtiques
Les images oprandes
doivent tre de mme taille ;
peuvent tre des images constantes.
Exemples
addition, soustraction, ...
ET logique, OU logique, ...
Problmes
dbordements de [0, 255]
normalisation Sami Gazzah 2009 64
Images en niveaux de gris : ET/OU logique bit bit entre les 8 bits
codant les valeurs des pixels.
Images binaires : ET/OU logique entre les pixels.
Sami Gazzah 2009 65
Les oprations logiques
ET: I(x,y)=I
1
(x,y) ET I
2
(x,y) intersection logique
OU: I(x,y) = I
1
(x,y) OU I
2
(x,y) union logique
NOT : I(x,y) = NOT(I
1
(x,y)
oprations arithmtiques
Addition: I(x,y)=I
1
(x,y)+I
2
(x,y);
Soustraction: I(x,y)=I
1
(x,y)-I
2
(x,y);
Multiplication,
Division par une constante
Sami Gazzah 2009 66
Les oprations logiques
15/12/2010
12
Sami Gazzah 2009 67
Application :
Masquage
Sami Gazzah 2009 68
Les Oprations arithmtiques
Addition d'images
Principe : I'(x,y)=I
1
(x,y)+I
2
(x,y) pour tout pixel de coordonnes (x,y)
Stratgies si dpassement de capacit
Dcalage des valeurs dans [0, 127] avant addition (perte du bit de poids faible)
Saturation : I'(x,y) = min ( I
1
(x,y)+I
2
(x,y), 255)
Pr-calcul des valeurs finales (thoriques) minimale et maximale :
puis recadrage de la dynamique :
Utilisations principales
Augmentation de la luminance d'une image (par addition d'une constante ou
d'une image avec elle-mme) et diminution du bruit dans une srie d'images
)) , ( ) , ( ( max
)) , ( ) , ( ( min
2 1
) , (
max
2 1
) , (
min
y x I y x I i
y x I y x I i
I y x
I y x
+ = '
+ = '
e
e
)) , ( ) , ( (
255
) , (
2 1
min max
y x I y x I
i i
y x I +
' '
= '
Sami Gazzah 2009 69
Les Oprations arithmtiques
Soustraction d'images
Principe : I'(x,y)=I
1
(x,y)-I
2
(x,y) pour tout pixel de coordonnes (x,y)
Stratgies si dpassement de capacit
Saturation : I'(x,y) = max ( I1(x,y) - I2(x,y), 0)
Diffrence absolue : I'(x,y) = | I1(x,y) - I2(x,y) |
Utilisations principales
Diminution de la luminance d'une image
Dtection de changements entre images
dfauts (par comparaison avec une image de rfrence)
mouvements (par comparaison avec une autre image de la squence)
Sami Gazzah 2009 70
Rim Romdhaneet al. , AVSS'10,
rd
the 7th IEEE International Conference on
Advanced Video and Signal-Based Surveillance, Boston, USA, 2010
Sami Gazzah 2009 71
Addition et soustraction de deux images.
Sami Gazzah 2009 72
Si on dispose de l'image en niveau de gris et de l'image binaire suivante
15/12/2010
13
Sami Gazzah 2009 73
2. Identit, ngatif et Seuillage
Sami Gazzah 2009
74
2. Les oprations gomtriques
Oprations gomtriques sur une image en niveaux de gris
Sami Gazzah 2009 75
Une transformation de voisinage est telle que la nouvelle valeur
dun pixel tient compte des pixels appartenant au voisinage du
pixel considr.
Le voisinage peut avoir une taille plus ou moins grande (3x3, 5x5,
7x7), et il peut avoir une forme rgulire (carr, rectangle,
hexagone) ou bien une forme quelconque
3. Transformations de voisinage
Sami Gazzah 2009 76
Exemple de transformation de voisinage : le
produit de convolution
dans le cas continu, le produit de convolution de f par g est
dfini par :
Dans le cas discret, il est gnralement dfini sur un voisinage, il
est donn par :
Sami Gazzah 2009 77
Si on applique ceci une image I1 de dimensions
finies et moyenne de convolution K (K :
Kernel=noyau) de dimension 3 x 3 les pixels de
limage I1 obtenue par convolution de I2 par K ont
pour valeur :
Sami Gazzah 2009 78
Nouvelle
image
Nouvelle valeur
de pixel
21
1 1 1
1 1 1
1 1 1
Noyau
Nouvelle valeur de pixel =
9
22
27
19
9 19
51 21 14
Image
originale
(
(
(

=
1 1 1
1 1 1
1 1 1
9
1
h
15/12/2010
14
Sami Gazzah 2009 79
4- Transformations spectrales (1)
Transforme de Fourier 2D (T.F. 2D)
- La T.F. est :
Dans la cas 1D (Rappel)
Dans la cas 2D
- La T.F inverse :
- La T.F. est :
- La T.F inverse :
Sami Gazzah 2009 80
4- Transformations spectrales (2)
Exemple des transformations spectrales : transforme de Fourier
Soit f(x,y) dfinie par une matrice dchantillons rgulirement espacs:
N: le nombre de lignes, M: nombre de colonnes
- La T.F est dfinie par:
- La T.F inverse est dfinie par:
Sami Gazzah 2009 81 Sami Gazzah 2009 82
Compression RLE (Run Length Encoding)
2 2 2 2 128 128 128 120 120 80 96 96 94 94 94 95 97 97 97 97
4 2 3 128 2 120 1 80 2 96 3 94 1 95 4 97
Utile quand il y a des rptitions dans la chane encoder
Exemple : Formats BMP, TIFF, PCX (Paintbrush)
Sami Gazzah 2009 83
Chapitre 3:
RESTAURATION DIMAGES
Sami Gazzah 2009 84
Lacquisition saccompagne toujours dune distorsion/dgradation.
Il existe diffrentes sources de dgradation (bruit) dune image.
bruit li au contexte de l'acquisition : Boug, mauvaises conditions
dclairage,
bruit li au capteur : Capteur de mauvaises qualits, mauvaise mise
au point, etc
bruit li l'chantillonnage : Une mauvaise frquence
dchantillonnage peut introduire dans limage des points blancs ou
noirs connus souvent sous lappellation sel et poivre .
bruit li la nature de la scne : Prsence de fume, de nuage,
etc
Il faut corriger limage par un procd algorithmique.
15/12/2010
15
Sami Gazzah 2009 85
Restauration des Images monochromatiques et des images
couleurs
Au dbut de limagerie numrique, les algorithmes dvelopps taient
destins aux images en niveaux de gris. Avec les progrs techniques et le
dveloppement des outils informatiques, le traitement des images
couleurs est devenu possible.
. Approche marginale
Sami Gazzah 2009 86
Approche vectorielle
Dans l'approche vectorielle, le vecteur couleur est considr globalement
et le traitement doit tre alors rellement vectoriel. Il n'y a pas dans ce cas
une tape de fusion ou de sparation explicite entre les diffrentes
composantes couleur de limage. Dans ce cas, la corrlation entre les
diffrentes composantes peut tre prise en compte ce qui aboutit
gnralement des rsultats meilleurs que ceux du traitement marginal.
Sami Gazzah 2009 87
Rappel :
Sami Gazzah 2009 88
Sami Gazzah 2009 89
Nouvelle
image
Nouvelle valeur
de pixel
21
1 1 1
1 1 1
1 1 1
Noyau
Nouvelle valeur de pixel =
9
22
27
19
9 19
51 21 14
Image
originale
Sami Gazzah 2009 90
15/12/2010
16
Sami Gazzah 2009 91
Lissage spatial tout en remplacent la valeur du pixel courant par la moyenne de
tous les pixels inclus dans un voisinage centr en ce point
Sami Gazzah 2009 92
Sami Gazzah 2009 93 Sami Gazzah 2009 94
En traitement dimage, les tailles des fentres utilises pour le
filtrage mdian sont gnralement impaires : 3 3 ; 5 5 ; 7 7
exemple :
fentre de 5 pixels en croix
Pour les fentres de taille paire ( 2 K valeurs ) : aprs
ordonnancement croissant des valeurs, prendre la moyenne des 2
valeurs centrales :
valeur de sortie
( K
ime
valeur ordonne + (K+1)
ime
valeur ordonne )
2
=
Sami Gazzah 2009 95 Sami Gazzah 2009 96
15/12/2010
17
Sami Gazzah 2009 97
Image Pices de rfrence, bruite ( bruit de type impulsionnel ) puis filtre
avec un filtre moyenneur (33) et un filtre mdian (33).
Image de rfrence Image bruite
Bruit
Le filtrage mdian est plus adapt que le filtrage
linaire pour rduire le bruit impulsionnel
Observation :
Comparaison : filtre mdian et filtre moyenneur
Sami Gazzah 2009 99 Sami Gazzah 2009 100
Sami Gazzah 2009 101 Sami Gazzah 2009 102
Chapitre 4:
REHAUSSEMENT
DIMAGES
15/12/2010
18
Sami Gazzah 2009 103
Introduction
Le prtraitement dimage est lensemble des oprations effectues sur
une image, soit pour lamliorer, soit pour la restaurer.
Le prtraitement dune image vise soit renforcer la ressemblance des
pixels, soit au contraire accentuer les diffrences de pixels dune mme
rgion.
Accroitre la sparabilit des rgions composant une scne revient
augmenter les contrastes vu.
On applique le rehaussement des images afin de faciliter linterprtation
visuelle et la comprhension des images.
Pour comprendre ce type de rehaussement, il faut comprendre le concept
dhistogramme
Sami Gazzah 2009 104
Dfinition de lhistogramme dune image
Lhistogramme est un outil qui permet de comptabiliser le nombre
doccurrences de chacune des valeurs dans une image en niveaux de gris.
Dans une image couleur, il est ncessaire dutiliser plusieurs
histogramme sur chacune des composantes du systme de reprsentation
de la couleur.
Soit h lhistogramme de limage I de dimension (w x h) . h[i] reprsente
le nombre doccurrence de chaque niveau de quantification i. La probabilit
estime du niveau i dans une image I est :
h w
i h
i p
.
] [
) ( =
Image de 256 256 pixels,
cods chacun sur 8 bits
Population de pixels pour chaque
niveaux de gris [0 ; 255]
Pour chaque niveau de gris, on compte le nombre de pixels sy rfrant
Pour chaque niveau, on trace le graphe en bton du nombre de pixels
(possibilit de regrouper les niveaux proches en une seule classe)
Exemple dhistogramme pour une image en niveaux
de gris
0 50 100 150 200 250
0
200
400
600
800
1000
cameraman
Image A en
niveaux de gris
Matrice des valeurs de luminance
des pixels de limage A
Histogramme
de limage
A
2 2 2 2 2 2 2 2
2 0 0 0 0 0 0 2
2 0 1 1 1 1 0 2
2 0 1 0 0 1 0 2
2 0 1 1 1 1 0 2
2 0 1 0 0 1 0 2
2 0 0 0 0 0 0 2
2 2 2 2 2 2 2 2
Les niveaux 0, 1 et 2 sont respectivement reprsents par 24, 12 et 28 pixels
reprsentation de cette population de pixels sur l'histogramme.
L'image A comporte 3 niveaux de gris diffrents : 0, 1 et 2.
Compter le nombre de pixels pour chaque niveau de gris, laide de la
matrice des valeurs de luminance.
Exemple simple de calcul dhistogramme pour une image
Image A
Valeurs de luminance de
A
Histogramme cumul de
A
2 2 2 2 2 2 2 2
2 0 0 0 0 0 0 2
2 0 1 1 1 1 0 2
2 0 1 0 0 1 0 2
2 0 1 1 1 1 0 2
2 0 1 0 0 1 0 2
2 0 0 0 0 0 0 2
2 2 2 2 2 2 2 2
Calcul d'un histogramme particulier faisant appel aux cumuls des niveaux de gris
Histogramme cumul.
Utile pour certains traitements d'image tels que lgalisation
d'histogramme (amlioration de contraste).
Chaque bton cumule le nombre de pixels du niveaux de gris concern et des
niveaux de gris infrieurs : les niveaux 0, 1, 2 sont donc reprsents
respectivement par 24, 36 et 64 pixels.
Histogramme cumul dune image
Lhistogramme ne donne pas Lhistogramme ne donne pas
dinformations sur la rpartition dinformations sur la rpartition
Trois images diffrentes ayant un mme histogramme
15/12/2010
19
Modification de lhistogramme Modification de lhistogramme
On appelle dynamique des niveaux de gris l'intervalle [n
min
,n
max
] de
niveaux de gris, dans lequel sont compris tous les pixels de l'image.
Le but de la modification d'histogramme : modifier chaque niveau de
gris pour accrotre le contraste. On modlise cette transformation par
l'quation I(i,j) = g(I(i,j)), o g est la fonction de contraste.
Chaque transformation sera dcrite par une courbe reprsentant la
relation entre un niveau de gris de l'image de dpart (abscisse) et le
niveau qui lui correspond dans l'image amliore (ordonne).
Sami Gazzah 2009 109
Masquage de zones : Masquage de zones : Extraction dune Extraction dune
fentre dintensit fentre dintensit ((slicing slicing intensit) intensit)
Cette transformation consiste remplacer un intervalle de niveaux
de gris par du blanc (n
max
), par du noir (n
min
), ou par une valeur
intermdiaire du niveau de gris
Sami Gazzah 2009 110
Courbes reprsentant, de gauche droite, l'extraction d'une fentre d'intensit
et le masquage blanc et noir de l'intervalle [a,b].
n-1
n-1
0
n-1
n-1
0
a
a
b b n-1
n-1
0 a
b
Sami Gazzah 2009 111
Exemples de Masquage de zones
Inversion de la dynamique Inversion de la dynamique
But : produire le ngatif dune image
donne
Sami Gazzah 2009 112
Sami Gazzah 2009 113
Etirement dhistogramme
Sami Gazzah 2009 114
Etirement dhistogramme
Augmentation du contraste par tirement dhistogramme
15/12/2010
20
Sami Gazzah 2009 115
galisation d'histogramme
But : amlioration du contraste
Distribution uniforme des niveaux de gris
Elle se dfinit l'aide de l'histogramme cumul de l'image h
c
(n)
qui reprsente le nombre de pixels de l'image dont le niveau de
gris est infrieur ou gal n :
Dfinition de la transformation d'galisation d'histogramme : soit
I le niveau de gris d'un pixel de dpart, le niveau de gris de l'image
d'arrive I sera :
Sami Gazzah 2009 116
Sami Gazzah 2009 117
Effet de lgalisation dhistogramme
Sami Gazzah 2009 118
Augmentation du contraste :
exemples et comparaison
Original tirement dhistogramme galisation
Le rehaussement du contraste est plus marqu avec lgalisation
dhistogramme autorisant la dtection de structures situes dans
lombre.
Sami Gazzah 2009 119
Chapitre 5:
SEGMENTATION DIMAGES
Sami Gazzah 2009 120
Une image est gnralement compose dobjets. Lanalyse de cette
image ncessite lidentification de ces objets.
La segmentation d'images est l'un des problmes phares du traitement
d'images. Elle consiste partitionner l'images en un ensemble de
rgions connexes. L'intrt de ces rgions est de pouvoir tre
manipules ensuite via des traitements de haut niveau pour extraire
des caractristiques de forme, de position, de taille, etc.
Introduction
15/12/2010
21
Sami Gazzah 2009 121 Sami Gazzah 2009 122
Mthodes statistiques
Segmentation par Histogrammes
Sami Gazzah 2009 123
Mthodes statistiques
Slection Rcursive sur Histogrammes
Ohlander, Price et Reddy (1978)
Sami Gazzah 2009 124
Segmentation par approche contour
Introduction
Le contour est dfini comme le lieu des points connexes qui
possdent une forte transition dintensit lumineuse ou de texture. Le
traitement qui vise lobtenir est appel extraction de contour, on
parle aussi de dtection de contour.
Le processus dextraction de contour peut tre dcompos en
plusieurs tapes distinctes que nous allons les dtailler comme suit :
- La mise en vidence des contours.
- Lextraction des contours.
- La fermeture des contours.
Sami Gazzah 2009 125
Segmentation par approche contour
La mise en vidence des contours
Elle sobtient par une diffrentiation de limage et elle peut
sappliquer des images binaires ou non, le but de la dtection de
contours est dobtenir dans un premier temps, une image binaire o
chaque contour est dpaisseur 1 et sans discontinuit:
rehausser le contour
suivre le contour
les points du contour correspondent au maximum en valeur absolue
de la drive primaire de limage, on obtient alors un gradient ou au
passage par zro de la drive seconde de limage, on obtient alors
un laplacien
Sami Gazzah 2009 126
Segmentation par approche contour
La mise en vidence des contours
La dtection de contours peut tre ralise grce des filtres
dont les coefficients ont t soigneusement choisis. Nous
aborderons dans cette prsentation 3 filtres : les filtres de
Prewitt, Roberts et Sobel.
Ce jeu de filtres (Prewitt, Roberts et Sobel) est constitu dune
paire de filtres linaires , qui dtectent le contours dans deux
directions orthogonales (vertical et horizontal)
15/12/2010
22
Sami Gazzah 2009 127
Segmentation par approche contour
Filtre de Perwitt
Les filtres de Perwitt sont les suivants:
Filtre horizontal
Filtre vertical
|
|
|
.
|

\
|

=
1 1 1
0 0 0
1 1 1
h
|
|
|
.
|

\
|

=
1 0 1
1 0 1
1 0 1
v
Sami Gazzah 2009 128
Segmentation par approche contour
Filtre de Perwitt
A partir dune image I, on calcule G
h
et G
v
, images
correspondant au filtrage de I par h et v. Ces images
contiennent les contours horizontaux et verticaux.
Si lon souhaite obtenir une image de contour unique ne tenant
pas compte de lorientation on calcule :
Orientation du contour :
Image binairechoisir un seuil de dtection.
2 2
v h
G G G + =
) (
v h
G G arctg + = u
Sami Gazzah 2009 129
Segmentation par approche contour
Filtre de Sobel
Les filtres de Sobel sont les suivants:
Filtre horizontal
Filtre vertical
|
|
|
.
|

\
|

=
1 2 1
0 0 0
1 2 1
h
|
|
|
.
|

\
|

=
1 0 1
2 0 2
1 0 1
v
Sami Gazzah 2009 130
Segmentation par approche contour
Filtre de Sobel
Sami Gazzah 2009 131
Segmentation par approche contour
Filtre de Sobel
Sami Gazzah 2009 132
Segmentation par approche contour
Filtre de Roberts
Les filtres de Roberts sont les suivants:
Filtre diagonal
Filtre anti-diagonal
|
.
|

\
|

=
1 0
0 1
h
|
.
|

\
|

=
0 1
1 0
v
15/12/2010
23
Sami Gazzah 2009 133
Segmentation par approche contour
Filtre de Kirsch
Ce dtecteur utilise huit noyaux de convolution lui permettant de dtecter
des contours en fonction de huit directions:
15 /
3 3 5
3 0 5
3 3 5
1
|
|
|
.
|

\
|



= d 15 /
3 3 3
3 0 5
3 5 5
2
|
|
|
.
|

\
|

= d 15 /
3 3 3
3 0 3
5 5 5
3
|
|
|
.
|

\
|

= d
15 /
3 3 3
5 0 3
5 5 3
4
|
|
|
.
|

\
|

= d
15 /
5 3 3
5 0 3
5 3 3
5
|
|
|
.
|

\
|


= d
15 /
5 5 5
5 0 3
3 3 3
6
|
|
|
.
|

\
|


= d
15 /
5 5 5
3 0 3
3 3 3
7
|
|
|
.
|

\
|


= d
15 /
3 5 5
3 0 5
3 3 3
8
|
|
|
.
|

\
|


= d
Sami Gazzah 2009 134
Contours et Laplacien
Il sagit de calculer la drive seconde de limage.
Le Laplacien est trs sensible au bruit, pour limiter leffet du bruit, le
Laplacien est approxim par un masque qui effectue en mme temps
une opration de filtrage par une Gaussienne qui reprsente ltape
de lissage de limage, puis vient lapplication du laplacien. Les masques
du Laplacien Gaussien sont prsents ci-aprs :
Segmentation par approche contour
Sami Gazzah 2009 135
Contours et Laplacien
Le contour est ensuite dtermin par la dtection des
passages par zro du laplacien de limage
88888888888888
|
|
|
.
|

\
|



=
0 1 0
1 4 1
0 1 0
1 h
|
|
|
.
|

\
|



=
1 1 1
1 0 1
1 1 1
2 h
|
|
|
.
|

\
|



=
1 2 1
2 4 2
1 2 1
3 h
Sami Gazzah 2009 136
Contours et Laplacien
Sami Gazzah 2009 137
Seuillage
Les filtres prcdents nous fournissent des images des sauts ou
diffrences dintensit.
Le seuillage permet dliminer des points en lesquels la diffrence
dintensit est trs faible.
Le seuillage peut tre pousser afin dobtenir une image binaire (TOR).
Le seuillage, dans sa forme le plus simple, ne tient pas compte de la
topologie et peut conserver un point bruit isol ou liminer une portion
de contour dintensit faible.
Sami Gazzah 2009 138
Seuillage par hystrsis
cest une fonction deux seuils : un seuil bas et un seuil haut.
Tout point dont le module de contour est au-dessus du seuil-haut est un
point de contour.
Tout point dont le module de contour est au-dessous du seuil-bas nest
pas un point de contour.
Les points de module entre le seuil-bas et le seuil-haut sont des points
de contour sil possde un point de contour dans leur voisinage.
15/12/2010
24
Sami Gazzah 2009 139
Seuillage par hystrsis
seuil haut
Seuil bas
point sur contour
point hors contour
Seuillage par hystrisais : les points de limage de contour de valeur
suprieur au seuil haut sont des points de contours. A partir de ces points de
contours, le voisinage de la direction du contour sont examins : sils sont de
valeur suprieure au seuil bas, ils sont ajouts au points de contours
Sami Gazzah 2009 140
Chapitre 6:
Introduction aux
oprateurs
morphomathmatique
Sami Gazzah 2009 141
1. Introduction
Les oprateurs morphomathmatique (=Morphologie Mathmatique)
permettent damliorer les images de contours et apporter dautres
fonctionnalits.
Ils ont t initialement appliqu sur des images N&B (Matheron et
Sarra,1965), ensuite tendus des images en nivaux de gris par Doupherty
(1978).
Pour les appliquer sur des images couleurs, on peut les appliquer
sparment chaque composante couleur et combiner les rsultats.
Sami Gazzah 2009 142
Diffrentes oprations :
rosion, dilatation
ouverture, fermeture
Squelettisation

1. Introduction
Sami Gazzah 2009 143
1. Introduction
Dilatation
Ajouter un pixel sur les pourtours de la forme
boucher les trous
Erosion
Enlever un pixel sur les pourtours de la forme.
les objets de taille infrieure celle de l'lment
structurant vont disparatre
agrandit les trous
Sami Gazzah 2009
144
1I. Rappels sur les ensembles
Lgalit :
Linclusion:
Lintersection:
Lunion:
La diffrence:
La diffrence symtrique:
La complmentarit:
E tant un ensemble
servant de rfrentielle
Dans ce qui suit les lettres majuscules dsignent des ensembles et les lettres
minuscules dsignent des lments appartenant aux ensembles.
Sur les ensembles on dfinit les oprations suivantes :
15/12/2010
25
Sami Gazzah 2009
145
1I. Rappels sur les ensembles
Sami Gazzah 2009
146
1I. Rappels sur les ensembles
Lois de De Morgan :
Rflexion : La rflexion dun ensemble A est dfinie par
Un ensemble symtrique vrifiant A=A. Cest le cas des cercles et des carr par
exemple
c c c
Y X Y X = ) (
c c c
Y X Y X = ) (
{ } A a a A e = :
A -A
B
-B
Sami Gazzah 2009
147
1I. Rappels sur les ensembles
Addition de Minkowski: laddition dun lment x un ensemble A par x, est
dfinie par:
Cette notion nest pas uniquement ensembliste: elle nous oblige dfinir un point
de rfrence
On en dduit laddition dun ensemble B un ensemble A: cest le rsultat de
laddition de chaque lment de B A.
Laddition de Minkowski est commutative. Elle est galement appel dilatation
{ } A a x a x A B e + = + = :
A
A
x
{ } | = + = e + = e + = = A x B x A a B a B b b A B A C ) ( : ) : ( ) : (
le translat de X par b.
Sami Gazzah 2009
148
1I. Rappels sur les ensembles
Elment structurant: les oprations morphomathmatiques sont dfinis
partir des ensemble B discrets appel lment structurant. Ces lment
permettent de dfinir le type de voisinage souhait
Addition de Minkowski dun ensemble A et dun ensemble B
B A
Sami Gazzah 2009
149
1II. Dilatation
Le rsultat de dilatation de lensemble A par lensemble B
est laddition de Minkowski: cest lensemble des points tel
que lorsque B est centr sur un de ces points il y a une
intersection non vide entre A et B.
Pour des images en niveaux de gris, on obtient limage
dilate de la forme A en remplaant tout pixel par le
maximum des intensits des voisins selon la forme B.
Sami Gazzah 2009 150
1II. Dilatation
1. Image N&B
Soit k llment structurant de taille (2k+1) x (2k+1). Lalgorithme de
dilatation est le suivant: on parcourt tous les pixels de limage sauf les
bord de limage dpaisseur k. pour chaque pixel du fond rencontr, sil
possde un voisin, au sens de llment structurant, qui appartient un
objet, il prend le couleur de lobjet; si non il nest pas modifi.
15/12/2010
26
la dilatation (note ) dune image monochrome f par un
lment structurant B est dfinie en terme de sous-graphe :
f B = T [ Y ] = Sup
l
{ l tel que (m, n, l) eY }
Y = U ( f ) U ( B )
En considrant un lment structurant plan de valeur nulle sur son
support :
( f B ) (P) = Max { valeurs des pixels du voisinage du pixel P }
1II. Dilatation
1. Image niveaux de gris
max
55 , 68 , 77 , 90 , 91 , 95 , 115 , 151 , 210
( f B ) (P) = 210
n
115 91 77
95 68 90
55 151 210
exemple :
m
Image de rfrence

lment structurant
(8-connexit)
-
liste ordonne des valeurs du voisinage :
- - -
-
-
-
-
-
1II. Dilatation
1. Image niveaux de gris
Exemples de filtrages morphologiques
(lment structurant 33 complet)
Image de rfrence
Image dilate
morphologiquement
La dilatation en niveaux de gris accrot la luminance des
pixels entours de voisins plus lumineux
Observation :
Sami Gazzah 2009
154
VI. Erosion
Lrosion est dfinie par:
On dfinit la soustraction de Minkowski par :
On a quivalence entre rosion et soustraction de Minkowski si B est
symtrique (si B=-B).
Dun point de vue binaire, lrode de A par B correspond lensemble
des points tels que si B est centre sur ce points, B est entirement inclus
dans A.
{ } A x B x B b b A B A C c + = e = O = ) ( : ) : (
) : ( ) ( B b b A B A C e + = =
Sami Gazzah 2009 155
VI. Erosion
1. Image N&B
on parcourt tous les pixels de limage sauf les bord de limage
dpaisseur k. pour chaque pixel du fond rencontr, sil possde un
voisin, au sens de llment structurant, qui appartient un objet, il
prend le couleur du fond; si non il nest pas modifi.
VI. rosion dune image en niveaux de gris
Lrosion (note ) dune image monochrome f par un lment
structurant B est dfinie en terme de sous-graphe :
f B = T [ Y ] = Sup
l
{ l tel que (m, n, l) eY }
Y = U ( f ) U ( B )
Classiquement, on considre un lment structurant plan de
valeur nulle sur son support
( f B ) (P) = Min { valeurs des pixels du voisinage du pixel P }
15/12/2010
27
VI. rosion dune image en niveaux de gris
min
68 , 90 , 91 , 95 , 151
( f B ) (P) = 68
n
115 91 77
95 68 90
55 151 210
exemple :
m
Image de rfrence

lment structurant
(4-connexit)
liste ordonne des valeurs du voisinage :
-
-
-
-
-
Exemples de filtrages morphologiques
(lment structurant 33 complet)
Image rode
Lrosion en niveaux de gris rduit la luminance des pixels
qui sont entours de voisins de moindre intensit
Image de rfrence
Observation :
Sami Gazzah 2009 159
lment structurant (a)
(4-connexit)
-
-
-
-
-
lment structurant (b)
(8-connexit)
-
- - -
-
-
-
-
-
Exercice 1 : Sur la mme image de dpart, on ralise deux oprations
de dilatations avec deux lments structurant diffrents
Dilatation avec (a) Dilatation avec (b)
image de dpart
cas a : Llment structurant est 4-connexit. Chaque pixel
du support qui est gal la valeur 1, ou qui a lun de ses 4
voisins la valeur 1 est mis la valeur 1 aprs filtrage.
cas b : Llment structurant est 8-connexit. Chaque pixel
du support qui est gal la valeur 1, ou qui a lun de ses 8
voisins la valeur 1 est mis la valeur 1 aprs filtrage.
Dans les deux cas, on observe quune dilatation limine les
trous isols dans les objets et dilate le contour des objets en
tenant compte de llment structurant.
Sami Gazzah 2009 160
Exercice 1 :
Sami Gazzah 2009 161
lment structurant (a)
(4-connexit)
-
-
-
-
-
lment structurant (b)
(8-connexit)
-
- - -
-
-
-
-
-
Exercice 2 : Sur la mme image de dpart, on ralise deux oprations
drosions avec deux lments structurant diffrents
Erosion avec (a) Erosion avec (b)
image de dpart
cas a : Llment structurant est 4-connexit (origine 4 voisins).
Chaque pixel du support qui a la valeur 0, ou qui a lun de ses 4
voisins la valeur 0 est mis la valeur 0 aprs filtrage.
cas b : Llment structurant est 8-connexit. Chaque pixel du
support qui a la valeur 0, ou qui a lun de ses 8 voisins la valeur 0
est mis la valeur 0 aprs filtrage.
Dans les deux cas, on observe quune rosion limine les pixels
isols sur le fond et rode le contour des objets.
Sami Gazzah 2009 162
Exercice 2
15/12/2010
28
Conclusions Conclusions
Erosion
les objets relis entre eux vont tre spars.
Une rosion de taille n peut se raliser en rptant une
rosion n fois avec un lment structurant de taille 1 ou en
appliquant une seule rosion avec un lment structurant
de taille n.
Dilatation
des objets sont situs une distance moins grande que la taille
de l'lment structurant, il vont fusionner.
Sami Gazzah 2009 163 Sami Gazzah 2009 164
Sami Gazzah 2009 165
Elimine pixels isols sans intrt
Louverture: (opening) consiste une rosion suivi dune dilatation
Les petites structures et dtail fins disparaissent et ne sont pas recres
lors de la dilation. Une opration douverture est ainsi intressante pour
liminer les petits morceaux de contours bruits dans une image de
contours.
V. Ouverture et fermeture
1. Ouverture
B B A B A C O = = ) (
Sami Gazzah 2009 166
V. Ouverture et fermeture
II. Fermeture
La fermeture: (closing) consiste une dilatation suivi dune rosion
Les structures proches fusionnent lors de la dilation mais seules les
fusions ponctuelles disparaissent nouveau lors de lrosion. Une
opration de fermeture est ainsi intressante pour boucher les petits
trous.
Sami Gazzah 2009 167 Sami Gazzah 2009 168
Exercice 3 : Sur limage de dpart, on ralise une opration de
fermeture binaire par llment structurant 4-connexit. Conclusions...
lment structurant
(4-connexit)
-
-
-
-
-
Fermeture = dilatation puis rosion
Image de dpart Image dilate
Image dilate puis rode
Combler les trous
Rtablir les jonctions
. . . tout en prservant la taille
15/12/2010
29
Sami Gazzah 2009 169
Exercice 4 : Sur limage de dpart, on ralise une opration
douverture binaire par llment structurant 4-connexit. Conclusions...
lment structurant
(4-connexit)
-
-
-
-
-
Ouverture = rosion puis dilatation
Image de dpart Image rode
Image rode puis dilate
Supprimer les fausses alarmes
Sparer les objets accols
. . . tout en prservant la taille
Sami Gazzah 2009 170
Appliquer les filtres suivants sur l'image donne. Quelles sont les valeurs choisies
aux bords de l'image et quelles sont les modifications visuelles ?
a) filtre moyenneur M33(1/9)
b) rosion
c) dilatation
d) mdian
e) fermeture
f) ouverture
Exercice 5
Sami Gazzah 2009 171
IV. Amincissement et Squelettisation
La squelette (skeleton) dune forme est laxe mdian. Lintrt de cette
opration est dans :
La reconnaissance de caractres.
Dtection des rseaux routiers.
La planification de trajectoire,
Une mthode couramment employe est une amincissement rpt
jusqu le convergence (napporte aucune modification)
Sami Gazzah 2009 172
IV. Amincissement et Squelettisation
1. Opration Tout Ou Rien Hit or Miss
Cette transformation est dfinie par :
l'lment structurant tendu est centr sur chaque pixel de l'image
comme pour les oprations ensemblistes.
la question pose est: est ce que le contenu de l'image est identique au
contenu de l'lment structurant?
si la rponse est oui, le pixel rsultant vaut 1, si non il vaut 0.
Une application permet de dtecter des configurations locales
particulires dans une image.
plusieurs masques peuvent tre utiliss indpendamment, les images
rsultat tant ensuite combines par une opration ou.
) ( ) (

O O =
c c
B A B A B A
B
c-
est le complmentaire
local de B,
Sami Gazzah 2009 173
IV. Amincissement et Squelettisation
1. Opration Hit or Miss
Exemple d'opration Hit or Miss, dtection des coins
Sami Gazzah 2009 174
IV. Amincissement et Squelettisation
1. Amincissement (thinning)
La transformation TOR nous permet galement de dfinir
lamincissement :
Lamincissement consiste soustraire l'image rsultat d'un hit or miss de
l'image initiale.
des amincissements successifs conduisent au squelettisation.
) /( ) ( B A A A thin =
15/12/2010
30
Sami Gazzah 2009 175
IV. Amincissement et Squelettisation
1I. Squelettisation
Appliquer des amincissements successifs puis sarrter lorsque lamincissement
napporte plus de modification. Cest une rosion particulire o les pixels sont
supprims la condition qu'ils ne provoquent pas la sparation d'une rgion en
deux.
Sami Gazzah 2009 176
IV. Amincissement et Squelettisation
1I. Squelettisation
Sami Gazzah 2009 177
Chapitre 7:
Transformations
gomtriques 2D
Sami Gazzah 2009 178
I. Introduction
On entend par transformation 2D lensemble des transformations du
plan pouvant tre appliques aux pixels de limage, sans considration
de lintensit.
Par exemples :
Rduction, agrandissement
Dformation dimage
Recalage dune photo scanne
Recaler des images que lon veut comparer
Mosaque dimages
Sami Gazzah 2009 179
I. Transformations euclidiennes
Elles prservent les distances et les angles
Elles sont les compositions de translations et de rotations
1) Translation
O Tx et Ty sont les dplacements en x et en y de la translation

+ = '
+ = '
y
x
T y y
T x x
Sami Gazzah 2009 180
2) Rotation
15/12/2010
31
Sami Gazzah 2009 181 Sami Gazzah 2009 182
3) Remarques (1)
Sami Gazzah 2009 183
3) Remarques (2)
Sami Gazzah 2009 184
II. Homothties
Changement d'chelle par rapport l'origine (scaling, zoom)
O Sx et Sy sont les facteurs d'agrandissement ( >1) ou de
rduction ( <1) en x et en y.

= '
= '
y S y
x S x
y
x
.
.
Sami Gazzah 2009 185
II. Homothties
Sami Gazzah 2009 186
II. Homothties
15/12/2010
32
Sami Gazzah 2009 187
III. Rflexions
Rflexions par rapport aux axes (flip, miroir)
Sami Gazzah 2009 188
IV. Cisaillement
Cisaillement (glissement, "shearing") : on tire suivant un ou plusieurs axes,
Sami Gazzah 2009 189
Transformations inverses
Sami Gazzah 2009 190
Reprsentation Matricielle
IV. Autres (rflexions, miroirs et flips)
Sami Gazzah 2009 191
Interpolation Directe
Sami Gazzah 2009 192
oDifficile de distribuer le niveau de gris sur les pixels voisins
oOn na pas la certitude que tous les pixels de limage
transforme recevront une valeur => trous
15/12/2010
33
Interpolation Inverse
Sami Gazzah 2009 193
o Interpolation de la valeur du pixel partir des voisins plus
facile.
oAucun trou car on parcourt tous les pixels de limage
transforme. Sami Gazzah 2009 194
V. Objet vectoriel - Objet bitmap
Objet vectoriel
Essentiellement, on transforme
les sommets (ou points de
contrle) et on retrace
Objet bitmap
On doit calculer la nouvelle
position de chaque pixel!! De plus on
doit gnralement interpoler les
niveaux de gris (couleurs)
Sami Gazzah 2009 195
IV. Assignation des niveaux de gris
Ncessaire car la position dun pixel transform nest pas entire
Plusieurs mthodes :
Interpolation au plus proche voisin
Interpolation bilinaire
Interpolation bicubique
Autres types dinterpolation
Sami Gazzah 2009 196
IV. Assignation des niveaux de gris
L'interpolation de l'image, c'est ce qui arrive lorsqu'on redimensionne
une image numrique, ou qu'on la redimensionne avec une distorsion,
qu'on change la perspective, etc...
Exemple 1:
Image originale (sans interpolation) :
Image agrandie, et donc interpole :
Perte de nettet, due l'interpolation.
Sami Gazzah 2009
197
IV. Assignation des niveaux de gris
Exemple 2: recadrage d'image
Nous allons agrandir cette image 180% :
Il va donc nous manquer des informations, l o l'on va crer des
pixels pour agrandir l'image
Rsultat sans interpolation : le logiciel agrandit simplement les pixels :
Rsultat avec interpolation : le logiciel calcule une couleur intermdiaire
pour chaque nouveau pixel
Sami Gazzah 2009
198
IV. Assignation des niveaux de gris
Image originale
Interpolation au plus
proche voisin
Interpolation
bilinaire
Interpolation
bicubique
15/12/2010
34
Sami Gazzah 2009 199
IIV. Interpolation au plus proche voisin
C'est l'algorithme le plus rapide calculer,
Prend en compte dans le calcul que le pixel le plus proche du point
interpoler.
Consiste tout simplement agrandir chaque pixel.
Exemple : Interpolation du plus proche voisin par copie des pixels :
Copie de chaque colonne et de chaque rang
23 20
25 28
23 23
23 23
20 20
20 20
25 25
25 25
28 28
28 28
Sami Gazzah 2009 200
IIV. Interpolation bilinaire
Fonction bilinaire de 4 pixels voisins ( en 2 D )
i-1 i i+1
i-1 i-1/2 i i+1/2 i+1 i+3/2
y
i
=xi
Y
i+1/2
=(x
i
+x
i+1
)/2
Problme pour le dernier point
Extrapolation linaire de :
2. x
n
-x
n-1
Principe 1D
attribuer chaque point cible une
combinaison linaire des quatre
points sources les plus proches par
la transformation inverse.
Sami Gazzah 2009 201
IIV. Interpolation bilinaire
Sami Gazzah 2009 202
IIV. Interpolation bilinaire
Sami Gazzah 2009 203 Sami Gazzah 2009 204
IIV. Interpolation bilinaire
15/12/2010
35
Sami Gazzah 2009 205
IIV. Interpolation bilinaire
Sami Gazzah 2009 206
IIV. Interpolation bilinaire
Sami Gazzah 2009 207
IIV. Interpolation bilinaire :exemple
Sami Gazzah 2009 208
IIV. Interpolation bicubique
Sami Gazzah 2009 209
exemple
Sami Gazzah 2009 210
Chapitre 8:
Gnration de segments de
droite et de cercles en 2D
15/12/2010
36
Sami Gazzah 2009 211
Infographie 2D besoin de dessiner des primitives de
base (segments, cercles, )
Espace discrtis (pixels) il faut trouver un moyen pour
afficher des segments ou des cercles
I. Segments 2D, cercles
1. Introduction
Comment trouver les pixels allumer pour approximer au mieux une
droite ou un cercle ?
Algorithme rapide et prcis
Sami Gazzah 2009 212
partir des coordonnes des 2
extrmits dun segment
quation dune droite : y=ax+b
Calcul de la pente
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
1 2
1 2
x x
y y
x
y
a

=
A
A
=
Sami Gazzah 2009 213
Rappel.
partir des coordonnes des 2
extrmits dun segment
quation dune droite : y=mx+b
Calcul de la pente
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
1 2
1 2
x x
y y
x
y
m

=
A
A
=
Sami Gazzah 2009 214
Exemple
Sami Gazzah 2009 215
partir des coordonnes des 2 extrmits dun segment
Un algorithme simple :
Boucle de x1 x2 , dx=1,
ALLUME (x, Arrondir(y))
Avec x2>x1
Arrondir(y) = Arrondir(ax+b)
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Sami Gazzah 2009 216
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Choix de laxe
Peu efficace :
chaque itration : 1 multiplication (ou division) + 1 addition
+ 1 arrondi.
15/12/2010
37
Sami Gazzah 2009 217
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
DDA (Digital Differential Analyzer)
y et m doivent tre des rels
Sami Gazzah 2009 218
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
Calcul en entier ! (donc plus rapide)
Bas sur le choix entre deux points discrets, dpendant de leur
distance respective avec le point rel idal.
On simplifie le problme en traitant dabord le trac dun segment
dans le 1
er
octant m infrieur 1 et positif (0<m< 1)
Facilement gnralisable aux autres octants
Sami Gazzah 2009 219
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
Trac dun segment dans le premier octant m<1
On part dun point (xi, yi) allum :
Sami Gazzah 2009 220
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
On ne calcule pas rellement les distances on vrifie si la diffrence
entre les deux distances est positive ou ngative :
Le signe de la longueur (d1-d2) dtermine sil faut allumer le pixel L ou H.
L
H
Sami Gazzah 2009 221
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
Comme m=y/x, on multiplie cette diffrence par x pour viter la
division:
Mais que vaut p1 ?
Sami Gazzah 2009 222
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
15/12/2010
38
Sami Gazzah 2009 223
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
Pour viter de calculer cette diffrence pour chaque point, on cherche
une faon de calculer les diffrences subsquentes par incrmentation.
Sami Gazzah 2009 224
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
Sami Gazzah 2009 225
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
Sami Gazzah 2009
Exercice
Tracer le segment de droite
p
i
x
i
y
i
2 0 0
-6 1 1
6 2 1
-2 3 2
10 4 2
2 5 3
-6 6 4
6 7 4
-2 8 5
10 9 5
2 10 6
6
10
= A
= A
y
x
Sami Gazzah 2009 227
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
Techniques de gnralisation aux autres octants:
Sami Gazzah 2009 228
I. Segments 2D, cercles
2. Gnration de segments de droite 2D
Algorithme de Bresenham
Techniques de gnralisation aux autres octants:
interchanger les points
Si |x| < | y|, on interchange le rle de x et y.
15/12/2010
39
Sami Gazzah 2009 229
I. Segments 2D, cercles
3. Gnration de cercles
Rappels (1)
Sami Gazzah 2009 230
I. Segments 2D, cercles
3. Gnration de cercles
Rappels (2)
Sami Gazzah 2009 231
I. Segments 2D, cercles
3. Gnration de cercles
Rappels (3)
Sami Gazzah 2009 232
I. Segments 2D, cercles
3. Gnration de cercles
Algorithme de Bresenham
Toujours bas sur le choix entre deux
points discrets, dpendant de leur
distance respective avec le point rel.
On travaille dans le 2e octant partir
de (0,r) ainsi pour un point (x
i
, y
i
), le
prochain point sera:
(x
i
+1, y
i
) ou (x
i
+1, y
i
-1).
Sami Gazzah 2009 233
I. Segments 2D, cercles
3. Gnration de cercles
Algorithme de Bresenham
On calcule le prochain y et les diffrences respectives avec les points
discrets de la faon suivante:
Le signe de pi nous dira si nous devons choisir le point latral ou le diagonal.
Sami Gazzah 2009 234
I. Segments 2D, cercles
3. Gnration de cercles
Algorithme de Bresenham
Encore une fois, pour viter de calculer cette diffrence pour chaque point, on
cherche une faon de calculer les diffrences subsquentes par incrmentation.
15/12/2010
40
Sami Gazzah 2009 235
I. Segments 2D, cercles
3. Gnration de cercles
Algorithme de Bresenham
On considre 2 cas :
Valeur initiale:
Sami Gazzah 2009 236
I. Segments 2D, cercles
3. Gnration de cercles
Algorithme de Bresenham
Sami Gazzah 2009 237
I. Segments 2D, cercles
3. Gnration de cercles
Algorithme de Bresenham:
Exemple: centre = (0,0) et r = 3.
Sami Gazzah 2009 238
Livres
Diane Lingrand, Introduction au Traitement dImages, Paris, Editions Vuibert, 2
e
dition 2008.
Steven k. Feiner, James D. Foley, John F. Hughes, Richard l. Phillips, Andries
Vanam, Introduction linfographie, Paris, Editions Vuibert, 2000.
William K. Pratt. Digital Image Processing. Willy-Inter-sciences, 4
th
edition, 2007.
ric Incerti, Compression d'image Algorithmes et standards, Vuibert 2003
Gilles Burel, Introduction au traitement d'images Simulation sous Matlab,
Herms 2001.
Sites web
Cours de C. Rougier (U. Montral)
http://www-etud.iro.umontreal.ca/~rougierc/ift2730/cours.html (cf. chapitre 3)
Page wikipdia sur JPEG (en anglais, plus complte que celle en franais)
http://en.wikipedia.org/wiki/JPEG
Cours de P. Courtellemont (Campus numrique Esp@don)
http://perso.univ-lr.fr/pcourtel/espadon/site_web/
Applet de dmo, par C. G. Jennings
http://cgjennings.ca/toybox/hjpeg/index.html
Cours de D. Marshall (U. Cardiff)
http://www.cs.cf.ac.uk/Dave/Multimedia/PDF/
Rfrences
Sami Gazzah 2009 239
Chapitre 9:
introduction au
traitement
d'images avec OpenGL
Sami Gazzah 2009 240
OpenGL est une librairie graphique. Elle a t cre par Silicon
Graphics et bnficie sur ces machines de l'acclration matrielle.
Elle est constitu denviron 200 fonctions graphiques.
OpenGL est une bibliothque de fonctions.
Les fonctions sont de bas niveaux.
La version actuelle est l OpenGL 4.1 (dcembre 2010)
Principale caractristique : indpendant du matriel et du systme
dexploitation.
Une implmentation libre de droits d'OpenGL trs performante a t
crite par Brian Paul : http://www.mesa3d.org . Et tout son code source
est accessible !
Prsentation gnrale
15/12/2010
41
Sami Gazzah 2009 241
OpenGL propose des fonctions de bas niveaux:
Primitives gomtriques : points, segments, polygones.
Les fonctions de haut niveaux sont dveloppes par lutilisateur ou
importes par la librairie en amont dOpenGL
Primitives gomtriques complexes : Sphre, splines, etc.
Toutes les commandes et fonctions utilisent le prfixe : gl
Exemple : glColor2f()
Sami Gazzah 2009 242
Les Bibliothques co-existant avec OpenGL
GLU : OpenGL Utility Library contient les routines de bas niveau pour
grer les matrices de transformation et de projection, la facettisation des
polygones et le rendu de surface. Les bibliothques d'extension du
systme de fentres permettent l'utilisation du rendu OpenGL. Il s'agit de
GLX pour X Windows (fonctions ayant pour prfixe glX) et de WGL
pour Microsoft Windows (fonctions ayant pour prfixe wgl).
GLUT : OpenGL Utility Toolkit est une boite outils indpendante du
systme de fentrage, crite par Mark
Kilgard pour simplifier la tche d'utiliser des systmes diffrents (fonctions
ayant pour prfixe glut).
Sami Gazzah 2009 243
Les primitives gomtriques d OpenGL
Les primitives sont dcrites par un bloc dinstructions dlimit par glBegin et glEnd
Ce bloc contient gnralement une liste de vertex Exemple :
glBegin(GL_LINE_LOOP) ;
glVertex2f(-0.5, -0.5) ;
glVertex2f(0.5, -0.5) ;
glVertex2f(0.5, 0.5) ;
glVertex2f(-0.5, 0.5) ;
glEnd() ;
Dautres attributs peuvent tre spcifis en chaque sommet :
couleur, normale, coordonne de texture, etc.
Sami Gazzah 2009 244
OpenGL est une machine tats
En modifiant les variables dtats, on peut changer le style de rendu
Sami Gazzah 2009 245
Exemple : Honda Hippo (3dRender.com)
Placage de textures
Lapparence et le toucher ( feel ) dune surface
Une image utilise pour dfinir les caractristiques dune surface
Une image multi-dimensionnelle qui est plaque sur un espace multi-
dimensionnel
Sami Gazzah 2009 246
15/12/2010
42
Sami Gazzah 2009 247
Rfrences: openGL
Sami Gazzah 2009 248
Chapitre 10:
introduction au
traitement
d'images avec OpenCV
Sami Gazzah 2009 249
Prsentation gnrale
Qu'est-ce ?
Open Source Computer Vision Library
Bibliothque open source de traitement des images numriques
Projet initi par Intel (en 1999)
Tlchargeable sur http://sourceforge.net/projects/opencvlibrary/
Fortement oriente temps rel
crite en C et C++
optimise pour les processeurs multi-curs
Multi-plateformes : disponible pour Linux, Windows et Mac OS X
Que contient-elle ?
Des fonctionnalits (structures et routines, >350 algos) de base et
avances pour btir rapidement des applications autour de la vision par
ordinateur.
Exemples d'utilisation : traitements de bas niveau (filtrage, ...), dtection
de visages, reconnaissance et suivi d'objets en mouvement, ...
Sami Gazzah 2009 250
Fonctionnalits
Lecture/criture d'images statiques et de squences vido
APIs de bas et moyen niveaux
Traitement des images binaires
Manipulations d'image (chantillonnage (sampling), rgion d'intrt (ROI),
redimensionnement (resizing), rotation, dformation (warping), ...)
Dtection de contours, de lignes, de coins, ... (edge, ... detection)
Traitements multi-chelles (multiscale processing)
Transformes (Fourier, cosinus discrte, ...)
Modules de haut niveau
Dtection, reconnaissance et suivi (tracking) de visages
Flot optique (estimation du mouvement) (optical flow)
Calibrage (calibration) de la camra
Mise en correspondance stroscopique (stereo matching)
IA et apprentissage par ordinateur (machine learning)
3D : mise en correspondance (registration), ...
Sami Gazzah 2009 251
Modules principaux
CxCore
Types de base pour manip. d'images (ex. struct. image, point cxtypes.h)
Structures dynamiques (listes, files, graphes, arbres) et persistantes (L/E)
Manipulations de matrices, mthodes de l'algbre linaire et statistiques
Dessin en surimpression (overlay) (ex. tiquetage)
Cv
Traitement d'image, calibrage camra
Gomtrie algorithmique (triangulation, ...)
Cvaux
Reconnaissance de visage
Code exprimental et obsolte
Autres (dans otherlibs\)
HighGUI : E/S vidos, curseurs, fentrage
ML : classification, regroupement (clustering)
Sami Gazzah 2009 252
OpenCV : premiers programmes
Bibliothque OpenCV
15/12/2010
43
Sami Gazzah 2009 253
Livre
G. Bradski & A. Kaehler, Learning OpenCV , O'Reilly Press (2008)
codes sources : http://examples.oreilly.com/9780596516130/
Ressources en ligne
Rfrence complte http://opencv.willowgarage.com/documentation
Wiki http://opencv.willowgarage.com/wiki/FullOpenCVWiki
Prsentation, tlchargement, installation
avec Code::Blocks : http://opencv.willowgarage.com/wiki/CodeBlocks
Dbuter avec OpenCV, FAQ
Tutoriels
http://nchc.dl.sourceforge.net/sourceforge/opencvlibrary/ippocv.pdf
http://dasl.mem.drexel.edu/~noahKuntz/openCVTut1.html ...Tut11.html
http://www.cognotics.com/opencv/servo_2007_series
Tutoriel sur la vision utilisant OpenCV (en franais)
http://www.siteduzero.com/tutoriel-3-8631-vision-par-ordinateur.html
Rfrences: openCV