43
15/12/2010 1 INFOGRAPHIE NFOGRAPHIE &TRAITEMENT RAITEMENT NUMÉRIQUE UMÉRIQUE D’I D’IMAGES MAGES Dr. Sami GAZZAH ISITCOM Hammam Sousse Sami Gazzah 2009 1 Plan du cours Plan du cours Objectifs: Maîtriser les concepts de base liés à l‟imagerie numérique 2D sur ordinateur. Développer une méthodologie de traitement numérique d'images et de manipulation d‟objets graphiques. Comprendre et appliquer les notions d‟infographie 2D et 3D dans le cadre du développement et de l‟utilisation d‟un logiciel graphique; 9h35 12h35 Théorie (15 h) Travaux pratiques (6h) Projets Personnel (20h) 11 décembre Sami Gazzah 2009 2 Contenu du cours Contenu du cours 1. Introduction : traitement d‟image Versus Infographie 2.Transformations sur les images 3. Restauration d‟Images 4. Rehaussement d‟images 5. Segmentation d‟images 6.Introduction aux opérateurs morphomathématique 7.Transformations géométriques 2D 8. Génération 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 effectués en langage MATLAB. TP1 :Manipulation d‟images niveaux de gris et couleurs TP2: Manipulation sur l‟analyse élémentaire d‟image (Hist.) TP2 : Compression TP3 : Restauration d‟images par transformations géométriques TP6 : Filtrage : détection de contours, lissage, etc Sami Gazzah 2009 4 Sami Gazzah 2009 5 Chapitre1: Traitement d’image Versus Infographie 1.Traitement d’image Vs Infographie 1.Traitement d’image Vs Infographie 1.1 Traitement d’image 1.1 Traitement d’image Pour l‟être humain, l‟image constitue l‟une des principales sources d’informations. Une scène contient une quantité importante d’informations qu‟il est utile parfois de traiter et d’analyser dans le but de prendre des décisions. Sami Gazzah 2009 6

Cours Infographie t i 2010

Embed Size (px)

Citation preview

Page 1: Cours Infographie t i 2010

15122010

1

IINFOGRAPHIENFOGRAPHIE ampampTTRAITEMENTRAITEMENT

NNUMEacuteRIQUEUMEacuteRIQUE DrsquoIDrsquoIMAGESMAGES

Dr Sami GAZZAH

ISITCOM Hammam Sousse

Sami Gazzah 2009 1

Plan du cours Plan du cours

Objectifs

Maicirctriser les concepts de base lieacutes agrave l‟imagerie numeacuterique 2D surordinateur

Deacutevelopper une meacutethodologie de traitement numeacuterique dimageset de manipulation d‟objets graphiques

Comprendre et appliquer les notions d‟infographie 2D et 3D dansle cadre du deacuteveloppement et de l‟utilisation d‟un logicielgraphique

9h35 ndash 12h35

rArrTheacuteorie (15 h)

rArr Travaux pratiques (6h)

rArr Projets Personnel (20h)

11 deacutecembre

Sami Gazzah 2009 2

Contenu du coursContenu du cours

1 Introduction traitement d‟image Versus Infographie

2 Transformations sur les images

3 Restauration d‟Images

4 Rehaussement d‟images

5 Segmentation d‟images

6 Introduction aux opeacuterateurs morphomatheacutematique

7Transformations geacuteomeacutetriques 2D

8 Geacuteneacuteration de segments de droite et de cercles en 2D

9 introduction au traitement dimages avec OpenGL

10 introduction au traitement dimages avec OpenCV3

Travaux pratiquesTravaux pratiques

Six travaux pratiques pour apprendre agrave manipuler et traiter des images Les travaux sont effectueacutes en langage MATLAB

TP1 Manipulation d‟images niveaux de gris et couleurs

TP2 Manipulation sur l‟analyse eacuteleacutementaire d‟image

(Hist)

TP2 Compression

TP3 Restauration d‟images par transformations

geacuteomeacutetriques

TP6 Filtrage deacutetection de contours lissage etc

Sami Gazzah 2009 4

Sami Gazzah 2009 5

Chapitre1

Traitement drsquoimage

Versus

Infographie

1 Traitement drsquoimage Vs Infographie 1 Traitement drsquoimage Vs Infographie 11 Traitement drsquoimage11 Traitement drsquoimage

Pour l‟ecirctre humain l‟image constitue l‟une des

principales sources drsquoinformations

Une scegravene contient une quantiteacute importante

drsquoinformations qu‟il est utile parfois de traiter

et drsquoanalyser dans le but de prendre des

deacutecisions

Sami Gazzah 2009 6

15122010

2

1950-1970 Traitement de lrsquoimage

L‟existence d‟images de mauvaises qualiteacutes (Rayons X OCR hellip) et

volumineuses a conduit les chercheurs agrave s‟inteacuteresser agrave

La restauration (corriger les deacutefauts lieacutes agrave lacquisition)

L‟ameacutelioration (rendre limage belle pour laffichage)

La compression (reacuteduire le volume de limage)

Sami Gazzah 2009 7

1 Traitement drsquoimage Vs Infographie 1 Traitement drsquoimage Vs Infographie 12 Historiquehellip12 Historiquehellip

1970-1980 Du traitement vers lrsquointerpreacutetation

L‟eacutevolution naturelle vers lextraction automatique dinformations a

conduit agrave l‟apparition de nouvelles notions telles que

minus L‟analyse d‟images en vue de l‟extraction automatique

d‟information d‟ougrave les thegravemes seuillage segmentation

extraction de contours morphologie matheacutematique (pour les

images binaires)

minus L‟interpreacutetation dimages et les systegravemes experts

Sami Gazzah 2009 8

1 Traitement drsquoimage Vs Infographie 1 Traitement drsquoimage Vs Infographie 12 Historiquehellip12 Historiquehellip

Sami Gazzah 2009 9

1980- La vision par ordinateur

minus De limage 2D aux modegraveles tri- dimensionnels

minus Analyse du mouvement

minusVision pour la robotique (mouvement 3D deacutetection

dobstacle trajectoire)

minus les bibliothegraveques numeacuteriques

minusTransmission (codage et reacuteseaux)

1 Traitement drsquoimage Vs Infographie 1 Traitement drsquoimage Vs Infographie 12 Historiquehellip12 Historiquehellip

les bibliothegraveques numeacuteriques les bibliothegraveques numeacuteriques Reconnaissance de Reconnaissance de

l‟eacutecriture OCRl‟eacutecriture OCR

Sami Gazzah 2009 10

bullTraitement automatique des chegraveques

bullTri- postale

Sami Gazzah 2009 11

Imagerie biologique

Imagerie biologique

Identification des cellules bacteacuteries virus

comptage des cellules

Sami Gazzah 2009 12

Imagerie meacutedicale

Imagerie meacutedicale

Aide au diagnostique

Reconstruction 3D des images Image de scintigraphie cardiaque

Reconstruction 3D

f6cilusq

15122010

3

Sami Gazzah 2009 13

Vision robotique

Vision des robots

Robots autonomes

Intervention en milieu contamineacute

Sonde d‟exploration

Robotique meacutedical

Assistance au geste meacutedical

Sami Gazzah 2009 14

Imagerie aeacuterienne et satellitaire

Analyse des ressources terrestres

Meacuteteacuteo

Cartographie

Astronomie

Sami Gazzah 2009 15

Biomeacutetrie

Reconnaissance d‟empreintes digitales

Reconnaissance de visage

Reconnaissance d‟iris

Reconnaissance du style d‟eacutecriture du scripteur

Sami Gazzah 2009 16

Videacuteosurveillance

bull Deacutetection de mouvements et

reconnaissance de comportement

Analyse de plaque d‟immatriculation

Deacutetection automatique d‟incidents

Sami Gazzah 2009 17

Infographie

Ensemble de techniques permettant de creacuteer et de manipuler

des images syntheacutetiques

Produit final image syntheacutetique

Informatique Graphismeamp

Sami Gazzah 2009 18

15122010

4

1 Traitement d‟image Vs Infographie1 Traitement d‟image Vs Infographie

Sami Gazzah 2009 19

descriptif

Modegravele

descriptif

Infographie

(Informatique+Graphisme)

Reconnaissance de formes

(vision)

Image

Traitements

drsquoimages

Sami Gazzah 2009 20

Parmi les capteurs on peut distinguer

les capteurs thermiques (thermopiles)

les films photographiques

les capteurs photoeacutelectriques (photodiodes CCD

CMOShellip)

Le signal obtenu est caracteacuteriseacute par

sa dimension 1D 2D ou 3D

sa nature

2 Acquisition des images (1)

Sami Gazzah 2009 21

La repreacutesentation informatique d‟une image est

neacutecessairement discregravete alors qu‟une image est de nature

continue

Certains capteurs effectuent une discreacutetisation

La transformation d‟un signal analogique 2D neacutecessite

Une discreacutetisation de l‟espace c‟est lrsquoeacutechantillonnage

Une discreacutetisation des couleurs c‟est 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 eacutelectrique

2 Acquisition des images (5)

15122010

5

Sami Gazzah 2009 25

Pour numeacuteriser des images deux opeacuterations

eacutechantillonnage

quantification

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 26

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 27

Valeurs du deacutetail de l‟image Lena

Lena et un deacutetail de lrsquoimage

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 28

(1) Maillage (2) Quantification

pixel (picture element)

Discreacutetisation de l‟espace 2D on deacutecoupe l‟image en pixels

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 29

Une reacutesolution trop faible peut causer des problegravemes d‟aliasing

Apparition d‟escaliers sur les contours obliques

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 30

3 Repreacutesentation drsquoune image numeacuterique

15122010

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 repreacutesentation matricielle

Discreacutetisation de l‟espace des couleurs ou niveaux de gris

Une quantification trop faible peut causer des problegravemes de faux contours

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 32

Pavage en quinconce Pavage carreacute Pavage hexagonale

Pavage triangulaire

3 Repreacutesentation drsquoune image numeacuterique3 1 Pavage ou tesselation

A chaque eacutechantillonneur (sommet du maillage) on associe une

surface eacuteleacutementaire dite paveacute ou tesselle

Les pixels sont geacuteneacuteralement arrangeacutes sous forme rectangulaire dans

un tableau 2D hellip il peut exister d‟autres pavages ou tesselations

Le pavage hexagonale

Le pavage triangulaire ou carreacute

Le pavage rectangulaire en quinconce

Sami Gazzah 2009 33

Certains pavage sont motiveacutes par

leurs adeacutequation avec le systegraveme d‟acquisition exemple le pavage

quinconce correspond agrave certains systegravemes d‟acquisitions embarqueacutes dans

les satellites (satellite spot 5)

des relations geacuteomeacutetriques telles que le voisinage nombre des pixels

voisins connexes (4 6 8 32hellip)

3 1 Pavage ou tesselationhellip choixhellipmotivation

3 Repreacutesentation drsquoune image numeacuterique

8 voisins4 voisins 6 voisins

Sami Gaz 29 oct 2010 34Source httpwwweoportalorgdirectorypres_SPOT5html

systegravemes drsquoacquisitions du

satellite spot 5

Introduction du Super-Mode permet la

creacuteation d‟une image agrave 25 megravetres de

reacutesolution agrave partir de deux images agrave 5 megravetres

(acquises simultaneacutement avec un demi-pixel

de deacutecalage)

Sami Gazzah 2009 35

Pour un ordinateur une image rArr ensemble de pixels

Un pixel possegravede une valeur scalaire vecteur hellip

Ordre de grandeur

o si un pixel est codeacute sur 8 bits rArr 28=256 couleurs ou niveau de gris

o si helliphelliphelliphelliphellipsur 16 bits rArr 216=65 536 couleurshellipplus d‟espace

o helliphelliphelliphelliphelliphelliphelliphellip24 bits rArr 224=16 777 216 couleurshellipencore ++

3 Repreacutesentation drsquoune image numeacuterique3 2 Codage des pixels

Sami Gazzah 2009 36

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

1 Distance euclidienne

+ Cette distance ne privilegravege

aucun axe

22 )()()()(( jliklkPjiP

15122010

7

Sami Gazzah 2009 37

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k2 Distance blocks

Cette distance est appeleacute eacutegalement

laquo Manhatten distance raquo

il faut contourner les blocs

d‟habitations pour relier deux points

Manhatten city NY Sami Gazzah 2009 38

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

3 Distance tour d‟eacutechiquier

Sami Gazzah 2009 39 Sami Gazzah 2009 40

4 Formats drsquoimages

Une image vectorielle est repreacutesenteacutee par des formes geacuteomeacutetriques simples

Ligne point de deacutepart point d‟arriveacutee hellip

Triangle 3 sommets la couleur du contour la couleur inteacuterieure

(remplissage) hellip

Ex PAO (publication assisteacutee par ordinateur) DAO (dessin assisteacute par

ordinateur) etc

Une image matricielle est repreacutesenteacutee 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 PGMhellip

4 1 Image vectorielle Vs Image matricielle

Sami Gazzah 2009 41

4 Formats drsquoimages4 1 Images vectorielles Vs Images matricielles

Images vectorielles Images matricielles

Avantages Inconveacutenients Avantages Inconveacutenients

Peu de place en

meacutemoire

Peut devenir gros

pour une image

complexe

Aucun calcul pour

l‟affichage

Peuvent occuper

beaucoup d‟espace

meacutemoire

Redimensionnement

sans perte

d‟informations

Beaucoup de calculs

pour l‟affichage

La complexiteacute de

l‟image n‟influe pas

sur sa taille

Aucun aliasing si on

manipule l‟objet

graphique

Sami Gazzah 2009 42

4 Formats drsquoimages4 2 Stockage des images

o Pour la meacutemorisation des images sur disque meacutemoire on stocke les informations

concernant les image dans un en-tecircte puis les donneacutees (valeurs de pixels)

o L‟en-tecircte contient la largeur et la hauteur de l‟image aussi on peut ajouter d‟autres

informations telles que le type de donneacutees l‟auteur la datehellip

o Pour certains formats l‟en-tecircte et les donneacutees sont stockeacutes dans 2 fichiers

diffeacuterents

o Les donneacutees sont souvent stockeacutees dans l‟ordre des pixels de gauche agrave droite et

de haut en bas

o Les anciens formats sont simples et tregraves facile agrave lire et agrave eacutecrire

bull PBM pour des images binaires

bull PGM pour des images en niveaux de gris

bull PPM pour des images couleurs

o Les formats les plus courants sont GIF PCX BMPTIFF et JPEG

15122010

8

Sami Gazzah 2009 43

4 Formats drsquoimages4 2 Stockage des images

421 format PBM (Portable Bit Map)

Nombre de colonnes=10

Nom

bre

de c

olon

nes

=10

P1 signifie qursquoil srsquoagit drsquoun format PBM et que les donneacutees sont stockeacutees en ASCII signifie qursquoil srsquoagit drsquoune ligne de commentaire

Sami Gazzah 200944

4 Formats drsquoimages4 2 Stockage des images

421 format PGM(Portable Gray Map)

P2 signifie qursquoil srsquoagit drsquoun format PGM et que les donneacutees sont stockeacutees en ASCII

Sami Gazzah 200945

4 Formats drsquoimages4 2 Stockage des images

421 format PPM(Portable Pixel Map)

P3 signifie qursquoil srsquoagit drsquoun format PPM et que les donneacutees sont stockeacutees en ASCII Les valeurs des pixels sont donneacutees pixel par pixel

Sami Gazzah 2009 46

Sami Gazzah 2009 47

5 Eleacutements de Colorimeacutetrie

Un prisme seacutepare la lumiegravere blanche en ses couleurs

Sami Gazzah 2009 48

6 Les systegravemes de repreacutesentation des couleurs

Kunt a deacutemontreacute qu‟en combinant trois longueurs drsquoondes particuliegraveres il est

possible de syntheacutetiser presque toutes les couleurs existantes Les trois

couleurs de base sont dites laquo couleurs primaires raquo Une couleur peut donc ecirctre

repreacutesenteacutee dans un espace agrave trois dimensions Il en existe plusieurs

- Systegraveme RGB (Red Green Blue)

- Systegraveme CMY (Cyan Magenta Yellow)

- Systegraveme XYZ

- Systegraveme HLS (Hue Magenta Saturation)

Image couleur et sa repreacutesentation matricielle

15122010

9

Sami Gazzah 2009 49

Images couleurs (24 bits)

Lrsquoespace couleur Rouge Vert Bleu (RGB)

Sami Gazzah 2009 50

Valeur R Valeur V Valeur BCouleur

correspondanteCommentaires

0 0 0 noir

0 0 255 bleu

0 255 0 vert

255 0 0 rouge

128 128 128

couleur

intermeacutediaire

correspondant agrave

un gris

255 255 255 blanc

Sami Gazzah ISITCom 200951

Exemple de deacutecomposition drsquoune 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

Lrsquoespace couleur Cyan Magenta et Jaune (GMJ)

bull les couleurs primaires CMJ sont ici les compleacutementaires des RVB

bull utiliseacute par certaines imprimantes couleurs agrave jet dencre

bull les diffeacuterentes couleurs sont obtenues par soustraction du blanc

Sami Gazzah 2009 53

Le principe de lespace HSV est de caracteacuteriser les couleurs de faccedilon plus

intuitive conformeacutement agrave la perception naturelle des couleurs en termes de

1 teinte (Hue) intuitivement cest le nom quon utilisera pour deacutesigner la couleur

vert mauve etc Ideacutealement associeacute agrave une longueur donde

2 saturation (Saturation)cest le taux de pureteacute de la couleur qui doit varier

entre la pureteacute maximale (couleur eacuteclatante) et lachromatisme (niveau de gris)

3 valeur (Value) cest la mesure de lintensiteacute 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 repreacutesentation initiale (RGB) agrave cette repreacutesentation on opegravere

de la maniegravere suivante

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 2: Cours Infographie t i 2010

15122010

2

1950-1970 Traitement de lrsquoimage

L‟existence d‟images de mauvaises qualiteacutes (Rayons X OCR hellip) et

volumineuses a conduit les chercheurs agrave s‟inteacuteresser agrave

La restauration (corriger les deacutefauts lieacutes agrave lacquisition)

L‟ameacutelioration (rendre limage belle pour laffichage)

La compression (reacuteduire le volume de limage)

Sami Gazzah 2009 7

1 Traitement drsquoimage Vs Infographie 1 Traitement drsquoimage Vs Infographie 12 Historiquehellip12 Historiquehellip

1970-1980 Du traitement vers lrsquointerpreacutetation

L‟eacutevolution naturelle vers lextraction automatique dinformations a

conduit agrave l‟apparition de nouvelles notions telles que

minus L‟analyse d‟images en vue de l‟extraction automatique

d‟information d‟ougrave les thegravemes seuillage segmentation

extraction de contours morphologie matheacutematique (pour les

images binaires)

minus L‟interpreacutetation dimages et les systegravemes experts

Sami Gazzah 2009 8

1 Traitement drsquoimage Vs Infographie 1 Traitement drsquoimage Vs Infographie 12 Historiquehellip12 Historiquehellip

Sami Gazzah 2009 9

1980- La vision par ordinateur

minus De limage 2D aux modegraveles tri- dimensionnels

minus Analyse du mouvement

minusVision pour la robotique (mouvement 3D deacutetection

dobstacle trajectoire)

minus les bibliothegraveques numeacuteriques

minusTransmission (codage et reacuteseaux)

1 Traitement drsquoimage Vs Infographie 1 Traitement drsquoimage Vs Infographie 12 Historiquehellip12 Historiquehellip

les bibliothegraveques numeacuteriques les bibliothegraveques numeacuteriques Reconnaissance de Reconnaissance de

l‟eacutecriture OCRl‟eacutecriture OCR

Sami Gazzah 2009 10

bullTraitement automatique des chegraveques

bullTri- postale

Sami Gazzah 2009 11

Imagerie biologique

Imagerie biologique

Identification des cellules bacteacuteries virus

comptage des cellules

Sami Gazzah 2009 12

Imagerie meacutedicale

Imagerie meacutedicale

Aide au diagnostique

Reconstruction 3D des images Image de scintigraphie cardiaque

Reconstruction 3D

f6cilusq

15122010

3

Sami Gazzah 2009 13

Vision robotique

Vision des robots

Robots autonomes

Intervention en milieu contamineacute

Sonde d‟exploration

Robotique meacutedical

Assistance au geste meacutedical

Sami Gazzah 2009 14

Imagerie aeacuterienne et satellitaire

Analyse des ressources terrestres

Meacuteteacuteo

Cartographie

Astronomie

Sami Gazzah 2009 15

Biomeacutetrie

Reconnaissance d‟empreintes digitales

Reconnaissance de visage

Reconnaissance d‟iris

Reconnaissance du style d‟eacutecriture du scripteur

Sami Gazzah 2009 16

Videacuteosurveillance

bull Deacutetection de mouvements et

reconnaissance de comportement

Analyse de plaque d‟immatriculation

Deacutetection automatique d‟incidents

Sami Gazzah 2009 17

Infographie

Ensemble de techniques permettant de creacuteer et de manipuler

des images syntheacutetiques

Produit final image syntheacutetique

Informatique Graphismeamp

Sami Gazzah 2009 18

15122010

4

1 Traitement d‟image Vs Infographie1 Traitement d‟image Vs Infographie

Sami Gazzah 2009 19

descriptif

Modegravele

descriptif

Infographie

(Informatique+Graphisme)

Reconnaissance de formes

(vision)

Image

Traitements

drsquoimages

Sami Gazzah 2009 20

Parmi les capteurs on peut distinguer

les capteurs thermiques (thermopiles)

les films photographiques

les capteurs photoeacutelectriques (photodiodes CCD

CMOShellip)

Le signal obtenu est caracteacuteriseacute par

sa dimension 1D 2D ou 3D

sa nature

2 Acquisition des images (1)

Sami Gazzah 2009 21

La repreacutesentation informatique d‟une image est

neacutecessairement discregravete alors qu‟une image est de nature

continue

Certains capteurs effectuent une discreacutetisation

La transformation d‟un signal analogique 2D neacutecessite

Une discreacutetisation de l‟espace c‟est lrsquoeacutechantillonnage

Une discreacutetisation des couleurs c‟est 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 eacutelectrique

2 Acquisition des images (5)

15122010

5

Sami Gazzah 2009 25

Pour numeacuteriser des images deux opeacuterations

eacutechantillonnage

quantification

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 26

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 27

Valeurs du deacutetail de l‟image Lena

Lena et un deacutetail de lrsquoimage

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 28

(1) Maillage (2) Quantification

pixel (picture element)

Discreacutetisation de l‟espace 2D on deacutecoupe l‟image en pixels

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 29

Une reacutesolution trop faible peut causer des problegravemes d‟aliasing

Apparition d‟escaliers sur les contours obliques

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 30

3 Repreacutesentation drsquoune image numeacuterique

15122010

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 repreacutesentation matricielle

Discreacutetisation de l‟espace des couleurs ou niveaux de gris

Une quantification trop faible peut causer des problegravemes de faux contours

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 32

Pavage en quinconce Pavage carreacute Pavage hexagonale

Pavage triangulaire

3 Repreacutesentation drsquoune image numeacuterique3 1 Pavage ou tesselation

A chaque eacutechantillonneur (sommet du maillage) on associe une

surface eacuteleacutementaire dite paveacute ou tesselle

Les pixels sont geacuteneacuteralement arrangeacutes sous forme rectangulaire dans

un tableau 2D hellip il peut exister d‟autres pavages ou tesselations

Le pavage hexagonale

Le pavage triangulaire ou carreacute

Le pavage rectangulaire en quinconce

Sami Gazzah 2009 33

Certains pavage sont motiveacutes par

leurs adeacutequation avec le systegraveme d‟acquisition exemple le pavage

quinconce correspond agrave certains systegravemes d‟acquisitions embarqueacutes dans

les satellites (satellite spot 5)

des relations geacuteomeacutetriques telles que le voisinage nombre des pixels

voisins connexes (4 6 8 32hellip)

3 1 Pavage ou tesselationhellip choixhellipmotivation

3 Repreacutesentation drsquoune image numeacuterique

8 voisins4 voisins 6 voisins

Sami Gaz 29 oct 2010 34Source httpwwweoportalorgdirectorypres_SPOT5html

systegravemes drsquoacquisitions du

satellite spot 5

Introduction du Super-Mode permet la

creacuteation d‟une image agrave 25 megravetres de

reacutesolution agrave partir de deux images agrave 5 megravetres

(acquises simultaneacutement avec un demi-pixel

de deacutecalage)

Sami Gazzah 2009 35

Pour un ordinateur une image rArr ensemble de pixels

Un pixel possegravede une valeur scalaire vecteur hellip

Ordre de grandeur

o si un pixel est codeacute sur 8 bits rArr 28=256 couleurs ou niveau de gris

o si helliphelliphelliphelliphellipsur 16 bits rArr 216=65 536 couleurshellipplus d‟espace

o helliphelliphelliphelliphelliphelliphelliphellip24 bits rArr 224=16 777 216 couleurshellipencore ++

3 Repreacutesentation drsquoune image numeacuterique3 2 Codage des pixels

Sami Gazzah 2009 36

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

1 Distance euclidienne

+ Cette distance ne privilegravege

aucun axe

22 )()()()(( jliklkPjiP

15122010

7

Sami Gazzah 2009 37

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k2 Distance blocks

Cette distance est appeleacute eacutegalement

laquo Manhatten distance raquo

il faut contourner les blocs

d‟habitations pour relier deux points

Manhatten city NY Sami Gazzah 2009 38

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

3 Distance tour d‟eacutechiquier

Sami Gazzah 2009 39 Sami Gazzah 2009 40

4 Formats drsquoimages

Une image vectorielle est repreacutesenteacutee par des formes geacuteomeacutetriques simples

Ligne point de deacutepart point d‟arriveacutee hellip

Triangle 3 sommets la couleur du contour la couleur inteacuterieure

(remplissage) hellip

Ex PAO (publication assisteacutee par ordinateur) DAO (dessin assisteacute par

ordinateur) etc

Une image matricielle est repreacutesenteacutee 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 PGMhellip

4 1 Image vectorielle Vs Image matricielle

Sami Gazzah 2009 41

4 Formats drsquoimages4 1 Images vectorielles Vs Images matricielles

Images vectorielles Images matricielles

Avantages Inconveacutenients Avantages Inconveacutenients

Peu de place en

meacutemoire

Peut devenir gros

pour une image

complexe

Aucun calcul pour

l‟affichage

Peuvent occuper

beaucoup d‟espace

meacutemoire

Redimensionnement

sans perte

d‟informations

Beaucoup de calculs

pour l‟affichage

La complexiteacute de

l‟image n‟influe pas

sur sa taille

Aucun aliasing si on

manipule l‟objet

graphique

Sami Gazzah 2009 42

4 Formats drsquoimages4 2 Stockage des images

o Pour la meacutemorisation des images sur disque meacutemoire on stocke les informations

concernant les image dans un en-tecircte puis les donneacutees (valeurs de pixels)

o L‟en-tecircte contient la largeur et la hauteur de l‟image aussi on peut ajouter d‟autres

informations telles que le type de donneacutees l‟auteur la datehellip

o Pour certains formats l‟en-tecircte et les donneacutees sont stockeacutes dans 2 fichiers

diffeacuterents

o Les donneacutees sont souvent stockeacutees dans l‟ordre des pixels de gauche agrave droite et

de haut en bas

o Les anciens formats sont simples et tregraves facile agrave lire et agrave eacutecrire

bull PBM pour des images binaires

bull PGM pour des images en niveaux de gris

bull PPM pour des images couleurs

o Les formats les plus courants sont GIF PCX BMPTIFF et JPEG

15122010

8

Sami Gazzah 2009 43

4 Formats drsquoimages4 2 Stockage des images

421 format PBM (Portable Bit Map)

Nombre de colonnes=10

Nom

bre

de c

olon

nes

=10

P1 signifie qursquoil srsquoagit drsquoun format PBM et que les donneacutees sont stockeacutees en ASCII signifie qursquoil srsquoagit drsquoune ligne de commentaire

Sami Gazzah 200944

4 Formats drsquoimages4 2 Stockage des images

421 format PGM(Portable Gray Map)

P2 signifie qursquoil srsquoagit drsquoun format PGM et que les donneacutees sont stockeacutees en ASCII

Sami Gazzah 200945

4 Formats drsquoimages4 2 Stockage des images

421 format PPM(Portable Pixel Map)

P3 signifie qursquoil srsquoagit drsquoun format PPM et que les donneacutees sont stockeacutees en ASCII Les valeurs des pixels sont donneacutees pixel par pixel

Sami Gazzah 2009 46

Sami Gazzah 2009 47

5 Eleacutements de Colorimeacutetrie

Un prisme seacutepare la lumiegravere blanche en ses couleurs

Sami Gazzah 2009 48

6 Les systegravemes de repreacutesentation des couleurs

Kunt a deacutemontreacute qu‟en combinant trois longueurs drsquoondes particuliegraveres il est

possible de syntheacutetiser presque toutes les couleurs existantes Les trois

couleurs de base sont dites laquo couleurs primaires raquo Une couleur peut donc ecirctre

repreacutesenteacutee dans un espace agrave trois dimensions Il en existe plusieurs

- Systegraveme RGB (Red Green Blue)

- Systegraveme CMY (Cyan Magenta Yellow)

- Systegraveme XYZ

- Systegraveme HLS (Hue Magenta Saturation)

Image couleur et sa repreacutesentation matricielle

15122010

9

Sami Gazzah 2009 49

Images couleurs (24 bits)

Lrsquoespace couleur Rouge Vert Bleu (RGB)

Sami Gazzah 2009 50

Valeur R Valeur V Valeur BCouleur

correspondanteCommentaires

0 0 0 noir

0 0 255 bleu

0 255 0 vert

255 0 0 rouge

128 128 128

couleur

intermeacutediaire

correspondant agrave

un gris

255 255 255 blanc

Sami Gazzah ISITCom 200951

Exemple de deacutecomposition drsquoune 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

Lrsquoespace couleur Cyan Magenta et Jaune (GMJ)

bull les couleurs primaires CMJ sont ici les compleacutementaires des RVB

bull utiliseacute par certaines imprimantes couleurs agrave jet dencre

bull les diffeacuterentes couleurs sont obtenues par soustraction du blanc

Sami Gazzah 2009 53

Le principe de lespace HSV est de caracteacuteriser les couleurs de faccedilon plus

intuitive conformeacutement agrave la perception naturelle des couleurs en termes de

1 teinte (Hue) intuitivement cest le nom quon utilisera pour deacutesigner la couleur

vert mauve etc Ideacutealement associeacute agrave une longueur donde

2 saturation (Saturation)cest le taux de pureteacute de la couleur qui doit varier

entre la pureteacute maximale (couleur eacuteclatante) et lachromatisme (niveau de gris)

3 valeur (Value) cest la mesure de lintensiteacute 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 repreacutesentation initiale (RGB) agrave cette repreacutesentation on opegravere

de la maniegravere suivante

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 3: Cours Infographie t i 2010

15122010

3

Sami Gazzah 2009 13

Vision robotique

Vision des robots

Robots autonomes

Intervention en milieu contamineacute

Sonde d‟exploration

Robotique meacutedical

Assistance au geste meacutedical

Sami Gazzah 2009 14

Imagerie aeacuterienne et satellitaire

Analyse des ressources terrestres

Meacuteteacuteo

Cartographie

Astronomie

Sami Gazzah 2009 15

Biomeacutetrie

Reconnaissance d‟empreintes digitales

Reconnaissance de visage

Reconnaissance d‟iris

Reconnaissance du style d‟eacutecriture du scripteur

Sami Gazzah 2009 16

Videacuteosurveillance

bull Deacutetection de mouvements et

reconnaissance de comportement

Analyse de plaque d‟immatriculation

Deacutetection automatique d‟incidents

Sami Gazzah 2009 17

Infographie

Ensemble de techniques permettant de creacuteer et de manipuler

des images syntheacutetiques

Produit final image syntheacutetique

Informatique Graphismeamp

Sami Gazzah 2009 18

15122010

4

1 Traitement d‟image Vs Infographie1 Traitement d‟image Vs Infographie

Sami Gazzah 2009 19

descriptif

Modegravele

descriptif

Infographie

(Informatique+Graphisme)

Reconnaissance de formes

(vision)

Image

Traitements

drsquoimages

Sami Gazzah 2009 20

Parmi les capteurs on peut distinguer

les capteurs thermiques (thermopiles)

les films photographiques

les capteurs photoeacutelectriques (photodiodes CCD

CMOShellip)

Le signal obtenu est caracteacuteriseacute par

sa dimension 1D 2D ou 3D

sa nature

2 Acquisition des images (1)

Sami Gazzah 2009 21

La repreacutesentation informatique d‟une image est

neacutecessairement discregravete alors qu‟une image est de nature

continue

Certains capteurs effectuent une discreacutetisation

La transformation d‟un signal analogique 2D neacutecessite

Une discreacutetisation de l‟espace c‟est lrsquoeacutechantillonnage

Une discreacutetisation des couleurs c‟est 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 eacutelectrique

2 Acquisition des images (5)

15122010

5

Sami Gazzah 2009 25

Pour numeacuteriser des images deux opeacuterations

eacutechantillonnage

quantification

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 26

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 27

Valeurs du deacutetail de l‟image Lena

Lena et un deacutetail de lrsquoimage

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 28

(1) Maillage (2) Quantification

pixel (picture element)

Discreacutetisation de l‟espace 2D on deacutecoupe l‟image en pixels

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 29

Une reacutesolution trop faible peut causer des problegravemes d‟aliasing

Apparition d‟escaliers sur les contours obliques

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 30

3 Repreacutesentation drsquoune image numeacuterique

15122010

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 repreacutesentation matricielle

Discreacutetisation de l‟espace des couleurs ou niveaux de gris

Une quantification trop faible peut causer des problegravemes de faux contours

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 32

Pavage en quinconce Pavage carreacute Pavage hexagonale

Pavage triangulaire

3 Repreacutesentation drsquoune image numeacuterique3 1 Pavage ou tesselation

A chaque eacutechantillonneur (sommet du maillage) on associe une

surface eacuteleacutementaire dite paveacute ou tesselle

Les pixels sont geacuteneacuteralement arrangeacutes sous forme rectangulaire dans

un tableau 2D hellip il peut exister d‟autres pavages ou tesselations

Le pavage hexagonale

Le pavage triangulaire ou carreacute

Le pavage rectangulaire en quinconce

Sami Gazzah 2009 33

Certains pavage sont motiveacutes par

leurs adeacutequation avec le systegraveme d‟acquisition exemple le pavage

quinconce correspond agrave certains systegravemes d‟acquisitions embarqueacutes dans

les satellites (satellite spot 5)

des relations geacuteomeacutetriques telles que le voisinage nombre des pixels

voisins connexes (4 6 8 32hellip)

3 1 Pavage ou tesselationhellip choixhellipmotivation

3 Repreacutesentation drsquoune image numeacuterique

8 voisins4 voisins 6 voisins

Sami Gaz 29 oct 2010 34Source httpwwweoportalorgdirectorypres_SPOT5html

systegravemes drsquoacquisitions du

satellite spot 5

Introduction du Super-Mode permet la

creacuteation d‟une image agrave 25 megravetres de

reacutesolution agrave partir de deux images agrave 5 megravetres

(acquises simultaneacutement avec un demi-pixel

de deacutecalage)

Sami Gazzah 2009 35

Pour un ordinateur une image rArr ensemble de pixels

Un pixel possegravede une valeur scalaire vecteur hellip

Ordre de grandeur

o si un pixel est codeacute sur 8 bits rArr 28=256 couleurs ou niveau de gris

o si helliphelliphelliphelliphellipsur 16 bits rArr 216=65 536 couleurshellipplus d‟espace

o helliphelliphelliphelliphelliphelliphelliphellip24 bits rArr 224=16 777 216 couleurshellipencore ++

3 Repreacutesentation drsquoune image numeacuterique3 2 Codage des pixels

Sami Gazzah 2009 36

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

1 Distance euclidienne

+ Cette distance ne privilegravege

aucun axe

22 )()()()(( jliklkPjiP

15122010

7

Sami Gazzah 2009 37

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k2 Distance blocks

Cette distance est appeleacute eacutegalement

laquo Manhatten distance raquo

il faut contourner les blocs

d‟habitations pour relier deux points

Manhatten city NY Sami Gazzah 2009 38

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

3 Distance tour d‟eacutechiquier

Sami Gazzah 2009 39 Sami Gazzah 2009 40

4 Formats drsquoimages

Une image vectorielle est repreacutesenteacutee par des formes geacuteomeacutetriques simples

Ligne point de deacutepart point d‟arriveacutee hellip

Triangle 3 sommets la couleur du contour la couleur inteacuterieure

(remplissage) hellip

Ex PAO (publication assisteacutee par ordinateur) DAO (dessin assisteacute par

ordinateur) etc

Une image matricielle est repreacutesenteacutee 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 PGMhellip

4 1 Image vectorielle Vs Image matricielle

Sami Gazzah 2009 41

4 Formats drsquoimages4 1 Images vectorielles Vs Images matricielles

Images vectorielles Images matricielles

Avantages Inconveacutenients Avantages Inconveacutenients

Peu de place en

meacutemoire

Peut devenir gros

pour une image

complexe

Aucun calcul pour

l‟affichage

Peuvent occuper

beaucoup d‟espace

meacutemoire

Redimensionnement

sans perte

d‟informations

Beaucoup de calculs

pour l‟affichage

La complexiteacute de

l‟image n‟influe pas

sur sa taille

Aucun aliasing si on

manipule l‟objet

graphique

Sami Gazzah 2009 42

4 Formats drsquoimages4 2 Stockage des images

o Pour la meacutemorisation des images sur disque meacutemoire on stocke les informations

concernant les image dans un en-tecircte puis les donneacutees (valeurs de pixels)

o L‟en-tecircte contient la largeur et la hauteur de l‟image aussi on peut ajouter d‟autres

informations telles que le type de donneacutees l‟auteur la datehellip

o Pour certains formats l‟en-tecircte et les donneacutees sont stockeacutes dans 2 fichiers

diffeacuterents

o Les donneacutees sont souvent stockeacutees dans l‟ordre des pixels de gauche agrave droite et

de haut en bas

o Les anciens formats sont simples et tregraves facile agrave lire et agrave eacutecrire

bull PBM pour des images binaires

bull PGM pour des images en niveaux de gris

bull PPM pour des images couleurs

o Les formats les plus courants sont GIF PCX BMPTIFF et JPEG

15122010

8

Sami Gazzah 2009 43

4 Formats drsquoimages4 2 Stockage des images

421 format PBM (Portable Bit Map)

Nombre de colonnes=10

Nom

bre

de c

olon

nes

=10

P1 signifie qursquoil srsquoagit drsquoun format PBM et que les donneacutees sont stockeacutees en ASCII signifie qursquoil srsquoagit drsquoune ligne de commentaire

Sami Gazzah 200944

4 Formats drsquoimages4 2 Stockage des images

421 format PGM(Portable Gray Map)

P2 signifie qursquoil srsquoagit drsquoun format PGM et que les donneacutees sont stockeacutees en ASCII

Sami Gazzah 200945

4 Formats drsquoimages4 2 Stockage des images

421 format PPM(Portable Pixel Map)

P3 signifie qursquoil srsquoagit drsquoun format PPM et que les donneacutees sont stockeacutees en ASCII Les valeurs des pixels sont donneacutees pixel par pixel

Sami Gazzah 2009 46

Sami Gazzah 2009 47

5 Eleacutements de Colorimeacutetrie

Un prisme seacutepare la lumiegravere blanche en ses couleurs

Sami Gazzah 2009 48

6 Les systegravemes de repreacutesentation des couleurs

Kunt a deacutemontreacute qu‟en combinant trois longueurs drsquoondes particuliegraveres il est

possible de syntheacutetiser presque toutes les couleurs existantes Les trois

couleurs de base sont dites laquo couleurs primaires raquo Une couleur peut donc ecirctre

repreacutesenteacutee dans un espace agrave trois dimensions Il en existe plusieurs

- Systegraveme RGB (Red Green Blue)

- Systegraveme CMY (Cyan Magenta Yellow)

- Systegraveme XYZ

- Systegraveme HLS (Hue Magenta Saturation)

Image couleur et sa repreacutesentation matricielle

15122010

9

Sami Gazzah 2009 49

Images couleurs (24 bits)

Lrsquoespace couleur Rouge Vert Bleu (RGB)

Sami Gazzah 2009 50

Valeur R Valeur V Valeur BCouleur

correspondanteCommentaires

0 0 0 noir

0 0 255 bleu

0 255 0 vert

255 0 0 rouge

128 128 128

couleur

intermeacutediaire

correspondant agrave

un gris

255 255 255 blanc

Sami Gazzah ISITCom 200951

Exemple de deacutecomposition drsquoune 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

Lrsquoespace couleur Cyan Magenta et Jaune (GMJ)

bull les couleurs primaires CMJ sont ici les compleacutementaires des RVB

bull utiliseacute par certaines imprimantes couleurs agrave jet dencre

bull les diffeacuterentes couleurs sont obtenues par soustraction du blanc

Sami Gazzah 2009 53

Le principe de lespace HSV est de caracteacuteriser les couleurs de faccedilon plus

intuitive conformeacutement agrave la perception naturelle des couleurs en termes de

1 teinte (Hue) intuitivement cest le nom quon utilisera pour deacutesigner la couleur

vert mauve etc Ideacutealement associeacute agrave une longueur donde

2 saturation (Saturation)cest le taux de pureteacute de la couleur qui doit varier

entre la pureteacute maximale (couleur eacuteclatante) et lachromatisme (niveau de gris)

3 valeur (Value) cest la mesure de lintensiteacute 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 repreacutesentation initiale (RGB) agrave cette repreacutesentation on opegravere

de la maniegravere suivante

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 4: Cours Infographie t i 2010

15122010

4

1 Traitement d‟image Vs Infographie1 Traitement d‟image Vs Infographie

Sami Gazzah 2009 19

descriptif

Modegravele

descriptif

Infographie

(Informatique+Graphisme)

Reconnaissance de formes

(vision)

Image

Traitements

drsquoimages

Sami Gazzah 2009 20

Parmi les capteurs on peut distinguer

les capteurs thermiques (thermopiles)

les films photographiques

les capteurs photoeacutelectriques (photodiodes CCD

CMOShellip)

Le signal obtenu est caracteacuteriseacute par

sa dimension 1D 2D ou 3D

sa nature

2 Acquisition des images (1)

Sami Gazzah 2009 21

La repreacutesentation informatique d‟une image est

neacutecessairement discregravete alors qu‟une image est de nature

continue

Certains capteurs effectuent une discreacutetisation

La transformation d‟un signal analogique 2D neacutecessite

Une discreacutetisation de l‟espace c‟est lrsquoeacutechantillonnage

Une discreacutetisation des couleurs c‟est 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 eacutelectrique

2 Acquisition des images (5)

15122010

5

Sami Gazzah 2009 25

Pour numeacuteriser des images deux opeacuterations

eacutechantillonnage

quantification

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 26

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 27

Valeurs du deacutetail de l‟image Lena

Lena et un deacutetail de lrsquoimage

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 28

(1) Maillage (2) Quantification

pixel (picture element)

Discreacutetisation de l‟espace 2D on deacutecoupe l‟image en pixels

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 29

Une reacutesolution trop faible peut causer des problegravemes d‟aliasing

Apparition d‟escaliers sur les contours obliques

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 30

3 Repreacutesentation drsquoune image numeacuterique

15122010

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 repreacutesentation matricielle

Discreacutetisation de l‟espace des couleurs ou niveaux de gris

Une quantification trop faible peut causer des problegravemes de faux contours

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 32

Pavage en quinconce Pavage carreacute Pavage hexagonale

Pavage triangulaire

3 Repreacutesentation drsquoune image numeacuterique3 1 Pavage ou tesselation

A chaque eacutechantillonneur (sommet du maillage) on associe une

surface eacuteleacutementaire dite paveacute ou tesselle

Les pixels sont geacuteneacuteralement arrangeacutes sous forme rectangulaire dans

un tableau 2D hellip il peut exister d‟autres pavages ou tesselations

Le pavage hexagonale

Le pavage triangulaire ou carreacute

Le pavage rectangulaire en quinconce

Sami Gazzah 2009 33

Certains pavage sont motiveacutes par

leurs adeacutequation avec le systegraveme d‟acquisition exemple le pavage

quinconce correspond agrave certains systegravemes d‟acquisitions embarqueacutes dans

les satellites (satellite spot 5)

des relations geacuteomeacutetriques telles que le voisinage nombre des pixels

voisins connexes (4 6 8 32hellip)

3 1 Pavage ou tesselationhellip choixhellipmotivation

3 Repreacutesentation drsquoune image numeacuterique

8 voisins4 voisins 6 voisins

Sami Gaz 29 oct 2010 34Source httpwwweoportalorgdirectorypres_SPOT5html

systegravemes drsquoacquisitions du

satellite spot 5

Introduction du Super-Mode permet la

creacuteation d‟une image agrave 25 megravetres de

reacutesolution agrave partir de deux images agrave 5 megravetres

(acquises simultaneacutement avec un demi-pixel

de deacutecalage)

Sami Gazzah 2009 35

Pour un ordinateur une image rArr ensemble de pixels

Un pixel possegravede une valeur scalaire vecteur hellip

Ordre de grandeur

o si un pixel est codeacute sur 8 bits rArr 28=256 couleurs ou niveau de gris

o si helliphelliphelliphelliphellipsur 16 bits rArr 216=65 536 couleurshellipplus d‟espace

o helliphelliphelliphelliphelliphelliphelliphellip24 bits rArr 224=16 777 216 couleurshellipencore ++

3 Repreacutesentation drsquoune image numeacuterique3 2 Codage des pixels

Sami Gazzah 2009 36

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

1 Distance euclidienne

+ Cette distance ne privilegravege

aucun axe

22 )()()()(( jliklkPjiP

15122010

7

Sami Gazzah 2009 37

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k2 Distance blocks

Cette distance est appeleacute eacutegalement

laquo Manhatten distance raquo

il faut contourner les blocs

d‟habitations pour relier deux points

Manhatten city NY Sami Gazzah 2009 38

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

3 Distance tour d‟eacutechiquier

Sami Gazzah 2009 39 Sami Gazzah 2009 40

4 Formats drsquoimages

Une image vectorielle est repreacutesenteacutee par des formes geacuteomeacutetriques simples

Ligne point de deacutepart point d‟arriveacutee hellip

Triangle 3 sommets la couleur du contour la couleur inteacuterieure

(remplissage) hellip

Ex PAO (publication assisteacutee par ordinateur) DAO (dessin assisteacute par

ordinateur) etc

Une image matricielle est repreacutesenteacutee 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 PGMhellip

4 1 Image vectorielle Vs Image matricielle

Sami Gazzah 2009 41

4 Formats drsquoimages4 1 Images vectorielles Vs Images matricielles

Images vectorielles Images matricielles

Avantages Inconveacutenients Avantages Inconveacutenients

Peu de place en

meacutemoire

Peut devenir gros

pour une image

complexe

Aucun calcul pour

l‟affichage

Peuvent occuper

beaucoup d‟espace

meacutemoire

Redimensionnement

sans perte

d‟informations

Beaucoup de calculs

pour l‟affichage

La complexiteacute de

l‟image n‟influe pas

sur sa taille

Aucun aliasing si on

manipule l‟objet

graphique

Sami Gazzah 2009 42

4 Formats drsquoimages4 2 Stockage des images

o Pour la meacutemorisation des images sur disque meacutemoire on stocke les informations

concernant les image dans un en-tecircte puis les donneacutees (valeurs de pixels)

o L‟en-tecircte contient la largeur et la hauteur de l‟image aussi on peut ajouter d‟autres

informations telles que le type de donneacutees l‟auteur la datehellip

o Pour certains formats l‟en-tecircte et les donneacutees sont stockeacutes dans 2 fichiers

diffeacuterents

o Les donneacutees sont souvent stockeacutees dans l‟ordre des pixels de gauche agrave droite et

de haut en bas

o Les anciens formats sont simples et tregraves facile agrave lire et agrave eacutecrire

bull PBM pour des images binaires

bull PGM pour des images en niveaux de gris

bull PPM pour des images couleurs

o Les formats les plus courants sont GIF PCX BMPTIFF et JPEG

15122010

8

Sami Gazzah 2009 43

4 Formats drsquoimages4 2 Stockage des images

421 format PBM (Portable Bit Map)

Nombre de colonnes=10

Nom

bre

de c

olon

nes

=10

P1 signifie qursquoil srsquoagit drsquoun format PBM et que les donneacutees sont stockeacutees en ASCII signifie qursquoil srsquoagit drsquoune ligne de commentaire

Sami Gazzah 200944

4 Formats drsquoimages4 2 Stockage des images

421 format PGM(Portable Gray Map)

P2 signifie qursquoil srsquoagit drsquoun format PGM et que les donneacutees sont stockeacutees en ASCII

Sami Gazzah 200945

4 Formats drsquoimages4 2 Stockage des images

421 format PPM(Portable Pixel Map)

P3 signifie qursquoil srsquoagit drsquoun format PPM et que les donneacutees sont stockeacutees en ASCII Les valeurs des pixels sont donneacutees pixel par pixel

Sami Gazzah 2009 46

Sami Gazzah 2009 47

5 Eleacutements de Colorimeacutetrie

Un prisme seacutepare la lumiegravere blanche en ses couleurs

Sami Gazzah 2009 48

6 Les systegravemes de repreacutesentation des couleurs

Kunt a deacutemontreacute qu‟en combinant trois longueurs drsquoondes particuliegraveres il est

possible de syntheacutetiser presque toutes les couleurs existantes Les trois

couleurs de base sont dites laquo couleurs primaires raquo Une couleur peut donc ecirctre

repreacutesenteacutee dans un espace agrave trois dimensions Il en existe plusieurs

- Systegraveme RGB (Red Green Blue)

- Systegraveme CMY (Cyan Magenta Yellow)

- Systegraveme XYZ

- Systegraveme HLS (Hue Magenta Saturation)

Image couleur et sa repreacutesentation matricielle

15122010

9

Sami Gazzah 2009 49

Images couleurs (24 bits)

Lrsquoespace couleur Rouge Vert Bleu (RGB)

Sami Gazzah 2009 50

Valeur R Valeur V Valeur BCouleur

correspondanteCommentaires

0 0 0 noir

0 0 255 bleu

0 255 0 vert

255 0 0 rouge

128 128 128

couleur

intermeacutediaire

correspondant agrave

un gris

255 255 255 blanc

Sami Gazzah ISITCom 200951

Exemple de deacutecomposition drsquoune 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

Lrsquoespace couleur Cyan Magenta et Jaune (GMJ)

bull les couleurs primaires CMJ sont ici les compleacutementaires des RVB

bull utiliseacute par certaines imprimantes couleurs agrave jet dencre

bull les diffeacuterentes couleurs sont obtenues par soustraction du blanc

Sami Gazzah 2009 53

Le principe de lespace HSV est de caracteacuteriser les couleurs de faccedilon plus

intuitive conformeacutement agrave la perception naturelle des couleurs en termes de

1 teinte (Hue) intuitivement cest le nom quon utilisera pour deacutesigner la couleur

vert mauve etc Ideacutealement associeacute agrave une longueur donde

2 saturation (Saturation)cest le taux de pureteacute de la couleur qui doit varier

entre la pureteacute maximale (couleur eacuteclatante) et lachromatisme (niveau de gris)

3 valeur (Value) cest la mesure de lintensiteacute 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 repreacutesentation initiale (RGB) agrave cette repreacutesentation on opegravere

de la maniegravere suivante

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 5: Cours Infographie t i 2010

15122010

5

Sami Gazzah 2009 25

Pour numeacuteriser des images deux opeacuterations

eacutechantillonnage

quantification

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 26

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 27

Valeurs du deacutetail de l‟image Lena

Lena et un deacutetail de lrsquoimage

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 28

(1) Maillage (2) Quantification

pixel (picture element)

Discreacutetisation de l‟espace 2D on deacutecoupe l‟image en pixels

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 29

Une reacutesolution trop faible peut causer des problegravemes d‟aliasing

Apparition d‟escaliers sur les contours obliques

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 30

3 Repreacutesentation drsquoune image numeacuterique

15122010

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 repreacutesentation matricielle

Discreacutetisation de l‟espace des couleurs ou niveaux de gris

Une quantification trop faible peut causer des problegravemes de faux contours

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 32

Pavage en quinconce Pavage carreacute Pavage hexagonale

Pavage triangulaire

3 Repreacutesentation drsquoune image numeacuterique3 1 Pavage ou tesselation

A chaque eacutechantillonneur (sommet du maillage) on associe une

surface eacuteleacutementaire dite paveacute ou tesselle

Les pixels sont geacuteneacuteralement arrangeacutes sous forme rectangulaire dans

un tableau 2D hellip il peut exister d‟autres pavages ou tesselations

Le pavage hexagonale

Le pavage triangulaire ou carreacute

Le pavage rectangulaire en quinconce

Sami Gazzah 2009 33

Certains pavage sont motiveacutes par

leurs adeacutequation avec le systegraveme d‟acquisition exemple le pavage

quinconce correspond agrave certains systegravemes d‟acquisitions embarqueacutes dans

les satellites (satellite spot 5)

des relations geacuteomeacutetriques telles que le voisinage nombre des pixels

voisins connexes (4 6 8 32hellip)

3 1 Pavage ou tesselationhellip choixhellipmotivation

3 Repreacutesentation drsquoune image numeacuterique

8 voisins4 voisins 6 voisins

Sami Gaz 29 oct 2010 34Source httpwwweoportalorgdirectorypres_SPOT5html

systegravemes drsquoacquisitions du

satellite spot 5

Introduction du Super-Mode permet la

creacuteation d‟une image agrave 25 megravetres de

reacutesolution agrave partir de deux images agrave 5 megravetres

(acquises simultaneacutement avec un demi-pixel

de deacutecalage)

Sami Gazzah 2009 35

Pour un ordinateur une image rArr ensemble de pixels

Un pixel possegravede une valeur scalaire vecteur hellip

Ordre de grandeur

o si un pixel est codeacute sur 8 bits rArr 28=256 couleurs ou niveau de gris

o si helliphelliphelliphelliphellipsur 16 bits rArr 216=65 536 couleurshellipplus d‟espace

o helliphelliphelliphelliphelliphelliphelliphellip24 bits rArr 224=16 777 216 couleurshellipencore ++

3 Repreacutesentation drsquoune image numeacuterique3 2 Codage des pixels

Sami Gazzah 2009 36

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

1 Distance euclidienne

+ Cette distance ne privilegravege

aucun axe

22 )()()()(( jliklkPjiP

15122010

7

Sami Gazzah 2009 37

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k2 Distance blocks

Cette distance est appeleacute eacutegalement

laquo Manhatten distance raquo

il faut contourner les blocs

d‟habitations pour relier deux points

Manhatten city NY Sami Gazzah 2009 38

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

3 Distance tour d‟eacutechiquier

Sami Gazzah 2009 39 Sami Gazzah 2009 40

4 Formats drsquoimages

Une image vectorielle est repreacutesenteacutee par des formes geacuteomeacutetriques simples

Ligne point de deacutepart point d‟arriveacutee hellip

Triangle 3 sommets la couleur du contour la couleur inteacuterieure

(remplissage) hellip

Ex PAO (publication assisteacutee par ordinateur) DAO (dessin assisteacute par

ordinateur) etc

Une image matricielle est repreacutesenteacutee 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 PGMhellip

4 1 Image vectorielle Vs Image matricielle

Sami Gazzah 2009 41

4 Formats drsquoimages4 1 Images vectorielles Vs Images matricielles

Images vectorielles Images matricielles

Avantages Inconveacutenients Avantages Inconveacutenients

Peu de place en

meacutemoire

Peut devenir gros

pour une image

complexe

Aucun calcul pour

l‟affichage

Peuvent occuper

beaucoup d‟espace

meacutemoire

Redimensionnement

sans perte

d‟informations

Beaucoup de calculs

pour l‟affichage

La complexiteacute de

l‟image n‟influe pas

sur sa taille

Aucun aliasing si on

manipule l‟objet

graphique

Sami Gazzah 2009 42

4 Formats drsquoimages4 2 Stockage des images

o Pour la meacutemorisation des images sur disque meacutemoire on stocke les informations

concernant les image dans un en-tecircte puis les donneacutees (valeurs de pixels)

o L‟en-tecircte contient la largeur et la hauteur de l‟image aussi on peut ajouter d‟autres

informations telles que le type de donneacutees l‟auteur la datehellip

o Pour certains formats l‟en-tecircte et les donneacutees sont stockeacutes dans 2 fichiers

diffeacuterents

o Les donneacutees sont souvent stockeacutees dans l‟ordre des pixels de gauche agrave droite et

de haut en bas

o Les anciens formats sont simples et tregraves facile agrave lire et agrave eacutecrire

bull PBM pour des images binaires

bull PGM pour des images en niveaux de gris

bull PPM pour des images couleurs

o Les formats les plus courants sont GIF PCX BMPTIFF et JPEG

15122010

8

Sami Gazzah 2009 43

4 Formats drsquoimages4 2 Stockage des images

421 format PBM (Portable Bit Map)

Nombre de colonnes=10

Nom

bre

de c

olon

nes

=10

P1 signifie qursquoil srsquoagit drsquoun format PBM et que les donneacutees sont stockeacutees en ASCII signifie qursquoil srsquoagit drsquoune ligne de commentaire

Sami Gazzah 200944

4 Formats drsquoimages4 2 Stockage des images

421 format PGM(Portable Gray Map)

P2 signifie qursquoil srsquoagit drsquoun format PGM et que les donneacutees sont stockeacutees en ASCII

Sami Gazzah 200945

4 Formats drsquoimages4 2 Stockage des images

421 format PPM(Portable Pixel Map)

P3 signifie qursquoil srsquoagit drsquoun format PPM et que les donneacutees sont stockeacutees en ASCII Les valeurs des pixels sont donneacutees pixel par pixel

Sami Gazzah 2009 46

Sami Gazzah 2009 47

5 Eleacutements de Colorimeacutetrie

Un prisme seacutepare la lumiegravere blanche en ses couleurs

Sami Gazzah 2009 48

6 Les systegravemes de repreacutesentation des couleurs

Kunt a deacutemontreacute qu‟en combinant trois longueurs drsquoondes particuliegraveres il est

possible de syntheacutetiser presque toutes les couleurs existantes Les trois

couleurs de base sont dites laquo couleurs primaires raquo Une couleur peut donc ecirctre

repreacutesenteacutee dans un espace agrave trois dimensions Il en existe plusieurs

- Systegraveme RGB (Red Green Blue)

- Systegraveme CMY (Cyan Magenta Yellow)

- Systegraveme XYZ

- Systegraveme HLS (Hue Magenta Saturation)

Image couleur et sa repreacutesentation matricielle

15122010

9

Sami Gazzah 2009 49

Images couleurs (24 bits)

Lrsquoespace couleur Rouge Vert Bleu (RGB)

Sami Gazzah 2009 50

Valeur R Valeur V Valeur BCouleur

correspondanteCommentaires

0 0 0 noir

0 0 255 bleu

0 255 0 vert

255 0 0 rouge

128 128 128

couleur

intermeacutediaire

correspondant agrave

un gris

255 255 255 blanc

Sami Gazzah ISITCom 200951

Exemple de deacutecomposition drsquoune 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

Lrsquoespace couleur Cyan Magenta et Jaune (GMJ)

bull les couleurs primaires CMJ sont ici les compleacutementaires des RVB

bull utiliseacute par certaines imprimantes couleurs agrave jet dencre

bull les diffeacuterentes couleurs sont obtenues par soustraction du blanc

Sami Gazzah 2009 53

Le principe de lespace HSV est de caracteacuteriser les couleurs de faccedilon plus

intuitive conformeacutement agrave la perception naturelle des couleurs en termes de

1 teinte (Hue) intuitivement cest le nom quon utilisera pour deacutesigner la couleur

vert mauve etc Ideacutealement associeacute agrave une longueur donde

2 saturation (Saturation)cest le taux de pureteacute de la couleur qui doit varier

entre la pureteacute maximale (couleur eacuteclatante) et lachromatisme (niveau de gris)

3 valeur (Value) cest la mesure de lintensiteacute 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 repreacutesentation initiale (RGB) agrave cette repreacutesentation on opegravere

de la maniegravere suivante

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 6: Cours Infographie t i 2010

15122010

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 repreacutesentation matricielle

Discreacutetisation de l‟espace des couleurs ou niveaux de gris

Une quantification trop faible peut causer des problegravemes de faux contours

3 Repreacutesentation drsquoune image numeacuterique

Sami Gazzah 2009 32

Pavage en quinconce Pavage carreacute Pavage hexagonale

Pavage triangulaire

3 Repreacutesentation drsquoune image numeacuterique3 1 Pavage ou tesselation

A chaque eacutechantillonneur (sommet du maillage) on associe une

surface eacuteleacutementaire dite paveacute ou tesselle

Les pixels sont geacuteneacuteralement arrangeacutes sous forme rectangulaire dans

un tableau 2D hellip il peut exister d‟autres pavages ou tesselations

Le pavage hexagonale

Le pavage triangulaire ou carreacute

Le pavage rectangulaire en quinconce

Sami Gazzah 2009 33

Certains pavage sont motiveacutes par

leurs adeacutequation avec le systegraveme d‟acquisition exemple le pavage

quinconce correspond agrave certains systegravemes d‟acquisitions embarqueacutes dans

les satellites (satellite spot 5)

des relations geacuteomeacutetriques telles que le voisinage nombre des pixels

voisins connexes (4 6 8 32hellip)

3 1 Pavage ou tesselationhellip choixhellipmotivation

3 Repreacutesentation drsquoune image numeacuterique

8 voisins4 voisins 6 voisins

Sami Gaz 29 oct 2010 34Source httpwwweoportalorgdirectorypres_SPOT5html

systegravemes drsquoacquisitions du

satellite spot 5

Introduction du Super-Mode permet la

creacuteation d‟une image agrave 25 megravetres de

reacutesolution agrave partir de deux images agrave 5 megravetres

(acquises simultaneacutement avec un demi-pixel

de deacutecalage)

Sami Gazzah 2009 35

Pour un ordinateur une image rArr ensemble de pixels

Un pixel possegravede une valeur scalaire vecteur hellip

Ordre de grandeur

o si un pixel est codeacute sur 8 bits rArr 28=256 couleurs ou niveau de gris

o si helliphelliphelliphelliphellipsur 16 bits rArr 216=65 536 couleurshellipplus d‟espace

o helliphelliphelliphelliphelliphelliphelliphellip24 bits rArr 224=16 777 216 couleurshellipencore ++

3 Repreacutesentation drsquoune image numeacuterique3 2 Codage des pixels

Sami Gazzah 2009 36

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

1 Distance euclidienne

+ Cette distance ne privilegravege

aucun axe

22 )()()()(( jliklkPjiP

15122010

7

Sami Gazzah 2009 37

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k2 Distance blocks

Cette distance est appeleacute eacutegalement

laquo Manhatten distance raquo

il faut contourner les blocs

d‟habitations pour relier deux points

Manhatten city NY Sami Gazzah 2009 38

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

3 Distance tour d‟eacutechiquier

Sami Gazzah 2009 39 Sami Gazzah 2009 40

4 Formats drsquoimages

Une image vectorielle est repreacutesenteacutee par des formes geacuteomeacutetriques simples

Ligne point de deacutepart point d‟arriveacutee hellip

Triangle 3 sommets la couleur du contour la couleur inteacuterieure

(remplissage) hellip

Ex PAO (publication assisteacutee par ordinateur) DAO (dessin assisteacute par

ordinateur) etc

Une image matricielle est repreacutesenteacutee 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 PGMhellip

4 1 Image vectorielle Vs Image matricielle

Sami Gazzah 2009 41

4 Formats drsquoimages4 1 Images vectorielles Vs Images matricielles

Images vectorielles Images matricielles

Avantages Inconveacutenients Avantages Inconveacutenients

Peu de place en

meacutemoire

Peut devenir gros

pour une image

complexe

Aucun calcul pour

l‟affichage

Peuvent occuper

beaucoup d‟espace

meacutemoire

Redimensionnement

sans perte

d‟informations

Beaucoup de calculs

pour l‟affichage

La complexiteacute de

l‟image n‟influe pas

sur sa taille

Aucun aliasing si on

manipule l‟objet

graphique

Sami Gazzah 2009 42

4 Formats drsquoimages4 2 Stockage des images

o Pour la meacutemorisation des images sur disque meacutemoire on stocke les informations

concernant les image dans un en-tecircte puis les donneacutees (valeurs de pixels)

o L‟en-tecircte contient la largeur et la hauteur de l‟image aussi on peut ajouter d‟autres

informations telles que le type de donneacutees l‟auteur la datehellip

o Pour certains formats l‟en-tecircte et les donneacutees sont stockeacutes dans 2 fichiers

diffeacuterents

o Les donneacutees sont souvent stockeacutees dans l‟ordre des pixels de gauche agrave droite et

de haut en bas

o Les anciens formats sont simples et tregraves facile agrave lire et agrave eacutecrire

bull PBM pour des images binaires

bull PGM pour des images en niveaux de gris

bull PPM pour des images couleurs

o Les formats les plus courants sont GIF PCX BMPTIFF et JPEG

15122010

8

Sami Gazzah 2009 43

4 Formats drsquoimages4 2 Stockage des images

421 format PBM (Portable Bit Map)

Nombre de colonnes=10

Nom

bre

de c

olon

nes

=10

P1 signifie qursquoil srsquoagit drsquoun format PBM et que les donneacutees sont stockeacutees en ASCII signifie qursquoil srsquoagit drsquoune ligne de commentaire

Sami Gazzah 200944

4 Formats drsquoimages4 2 Stockage des images

421 format PGM(Portable Gray Map)

P2 signifie qursquoil srsquoagit drsquoun format PGM et que les donneacutees sont stockeacutees en ASCII

Sami Gazzah 200945

4 Formats drsquoimages4 2 Stockage des images

421 format PPM(Portable Pixel Map)

P3 signifie qursquoil srsquoagit drsquoun format PPM et que les donneacutees sont stockeacutees en ASCII Les valeurs des pixels sont donneacutees pixel par pixel

Sami Gazzah 2009 46

Sami Gazzah 2009 47

5 Eleacutements de Colorimeacutetrie

Un prisme seacutepare la lumiegravere blanche en ses couleurs

Sami Gazzah 2009 48

6 Les systegravemes de repreacutesentation des couleurs

Kunt a deacutemontreacute qu‟en combinant trois longueurs drsquoondes particuliegraveres il est

possible de syntheacutetiser presque toutes les couleurs existantes Les trois

couleurs de base sont dites laquo couleurs primaires raquo Une couleur peut donc ecirctre

repreacutesenteacutee dans un espace agrave trois dimensions Il en existe plusieurs

- Systegraveme RGB (Red Green Blue)

- Systegraveme CMY (Cyan Magenta Yellow)

- Systegraveme XYZ

- Systegraveme HLS (Hue Magenta Saturation)

Image couleur et sa repreacutesentation matricielle

15122010

9

Sami Gazzah 2009 49

Images couleurs (24 bits)

Lrsquoespace couleur Rouge Vert Bleu (RGB)

Sami Gazzah 2009 50

Valeur R Valeur V Valeur BCouleur

correspondanteCommentaires

0 0 0 noir

0 0 255 bleu

0 255 0 vert

255 0 0 rouge

128 128 128

couleur

intermeacutediaire

correspondant agrave

un gris

255 255 255 blanc

Sami Gazzah ISITCom 200951

Exemple de deacutecomposition drsquoune 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

Lrsquoespace couleur Cyan Magenta et Jaune (GMJ)

bull les couleurs primaires CMJ sont ici les compleacutementaires des RVB

bull utiliseacute par certaines imprimantes couleurs agrave jet dencre

bull les diffeacuterentes couleurs sont obtenues par soustraction du blanc

Sami Gazzah 2009 53

Le principe de lespace HSV est de caracteacuteriser les couleurs de faccedilon plus

intuitive conformeacutement agrave la perception naturelle des couleurs en termes de

1 teinte (Hue) intuitivement cest le nom quon utilisera pour deacutesigner la couleur

vert mauve etc Ideacutealement associeacute agrave une longueur donde

2 saturation (Saturation)cest le taux de pureteacute de la couleur qui doit varier

entre la pureteacute maximale (couleur eacuteclatante) et lachromatisme (niveau de gris)

3 valeur (Value) cest la mesure de lintensiteacute 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 repreacutesentation initiale (RGB) agrave cette repreacutesentation on opegravere

de la maniegravere suivante

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 7: Cours Infographie t i 2010

15122010

7

Sami Gazzah 2009 37

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k2 Distance blocks

Cette distance est appeleacute eacutegalement

laquo Manhatten distance raquo

il faut contourner les blocs

d‟habitations pour relier deux points

Manhatten city NY Sami Gazzah 2009 38

3 Repreacutesentation drsquoune image numeacuterique3 3 Distance entre pixels

Diffeacuterents distances entre 2 points P(ij) et P(kl) peuvent ecirctre utiliseacutees

i

j

l

k

3 Distance tour d‟eacutechiquier

Sami Gazzah 2009 39 Sami Gazzah 2009 40

4 Formats drsquoimages

Une image vectorielle est repreacutesenteacutee par des formes geacuteomeacutetriques simples

Ligne point de deacutepart point d‟arriveacutee hellip

Triangle 3 sommets la couleur du contour la couleur inteacuterieure

(remplissage) hellip

Ex PAO (publication assisteacutee par ordinateur) DAO (dessin assisteacute par

ordinateur) etc

Une image matricielle est repreacutesenteacutee 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 PGMhellip

4 1 Image vectorielle Vs Image matricielle

Sami Gazzah 2009 41

4 Formats drsquoimages4 1 Images vectorielles Vs Images matricielles

Images vectorielles Images matricielles

Avantages Inconveacutenients Avantages Inconveacutenients

Peu de place en

meacutemoire

Peut devenir gros

pour une image

complexe

Aucun calcul pour

l‟affichage

Peuvent occuper

beaucoup d‟espace

meacutemoire

Redimensionnement

sans perte

d‟informations

Beaucoup de calculs

pour l‟affichage

La complexiteacute de

l‟image n‟influe pas

sur sa taille

Aucun aliasing si on

manipule l‟objet

graphique

Sami Gazzah 2009 42

4 Formats drsquoimages4 2 Stockage des images

o Pour la meacutemorisation des images sur disque meacutemoire on stocke les informations

concernant les image dans un en-tecircte puis les donneacutees (valeurs de pixels)

o L‟en-tecircte contient la largeur et la hauteur de l‟image aussi on peut ajouter d‟autres

informations telles que le type de donneacutees l‟auteur la datehellip

o Pour certains formats l‟en-tecircte et les donneacutees sont stockeacutes dans 2 fichiers

diffeacuterents

o Les donneacutees sont souvent stockeacutees dans l‟ordre des pixels de gauche agrave droite et

de haut en bas

o Les anciens formats sont simples et tregraves facile agrave lire et agrave eacutecrire

bull PBM pour des images binaires

bull PGM pour des images en niveaux de gris

bull PPM pour des images couleurs

o Les formats les plus courants sont GIF PCX BMPTIFF et JPEG

15122010

8

Sami Gazzah 2009 43

4 Formats drsquoimages4 2 Stockage des images

421 format PBM (Portable Bit Map)

Nombre de colonnes=10

Nom

bre

de c

olon

nes

=10

P1 signifie qursquoil srsquoagit drsquoun format PBM et que les donneacutees sont stockeacutees en ASCII signifie qursquoil srsquoagit drsquoune ligne de commentaire

Sami Gazzah 200944

4 Formats drsquoimages4 2 Stockage des images

421 format PGM(Portable Gray Map)

P2 signifie qursquoil srsquoagit drsquoun format PGM et que les donneacutees sont stockeacutees en ASCII

Sami Gazzah 200945

4 Formats drsquoimages4 2 Stockage des images

421 format PPM(Portable Pixel Map)

P3 signifie qursquoil srsquoagit drsquoun format PPM et que les donneacutees sont stockeacutees en ASCII Les valeurs des pixels sont donneacutees pixel par pixel

Sami Gazzah 2009 46

Sami Gazzah 2009 47

5 Eleacutements de Colorimeacutetrie

Un prisme seacutepare la lumiegravere blanche en ses couleurs

Sami Gazzah 2009 48

6 Les systegravemes de repreacutesentation des couleurs

Kunt a deacutemontreacute qu‟en combinant trois longueurs drsquoondes particuliegraveres il est

possible de syntheacutetiser presque toutes les couleurs existantes Les trois

couleurs de base sont dites laquo couleurs primaires raquo Une couleur peut donc ecirctre

repreacutesenteacutee dans un espace agrave trois dimensions Il en existe plusieurs

- Systegraveme RGB (Red Green Blue)

- Systegraveme CMY (Cyan Magenta Yellow)

- Systegraveme XYZ

- Systegraveme HLS (Hue Magenta Saturation)

Image couleur et sa repreacutesentation matricielle

15122010

9

Sami Gazzah 2009 49

Images couleurs (24 bits)

Lrsquoespace couleur Rouge Vert Bleu (RGB)

Sami Gazzah 2009 50

Valeur R Valeur V Valeur BCouleur

correspondanteCommentaires

0 0 0 noir

0 0 255 bleu

0 255 0 vert

255 0 0 rouge

128 128 128

couleur

intermeacutediaire

correspondant agrave

un gris

255 255 255 blanc

Sami Gazzah ISITCom 200951

Exemple de deacutecomposition drsquoune 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

Lrsquoespace couleur Cyan Magenta et Jaune (GMJ)

bull les couleurs primaires CMJ sont ici les compleacutementaires des RVB

bull utiliseacute par certaines imprimantes couleurs agrave jet dencre

bull les diffeacuterentes couleurs sont obtenues par soustraction du blanc

Sami Gazzah 2009 53

Le principe de lespace HSV est de caracteacuteriser les couleurs de faccedilon plus

intuitive conformeacutement agrave la perception naturelle des couleurs en termes de

1 teinte (Hue) intuitivement cest le nom quon utilisera pour deacutesigner la couleur

vert mauve etc Ideacutealement associeacute agrave une longueur donde

2 saturation (Saturation)cest le taux de pureteacute de la couleur qui doit varier

entre la pureteacute maximale (couleur eacuteclatante) et lachromatisme (niveau de gris)

3 valeur (Value) cest la mesure de lintensiteacute 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 repreacutesentation initiale (RGB) agrave cette repreacutesentation on opegravere

de la maniegravere suivante

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 8: Cours Infographie t i 2010

15122010

8

Sami Gazzah 2009 43

4 Formats drsquoimages4 2 Stockage des images

421 format PBM (Portable Bit Map)

Nombre de colonnes=10

Nom

bre

de c

olon

nes

=10

P1 signifie qursquoil srsquoagit drsquoun format PBM et que les donneacutees sont stockeacutees en ASCII signifie qursquoil srsquoagit drsquoune ligne de commentaire

Sami Gazzah 200944

4 Formats drsquoimages4 2 Stockage des images

421 format PGM(Portable Gray Map)

P2 signifie qursquoil srsquoagit drsquoun format PGM et que les donneacutees sont stockeacutees en ASCII

Sami Gazzah 200945

4 Formats drsquoimages4 2 Stockage des images

421 format PPM(Portable Pixel Map)

P3 signifie qursquoil srsquoagit drsquoun format PPM et que les donneacutees sont stockeacutees en ASCII Les valeurs des pixels sont donneacutees pixel par pixel

Sami Gazzah 2009 46

Sami Gazzah 2009 47

5 Eleacutements de Colorimeacutetrie

Un prisme seacutepare la lumiegravere blanche en ses couleurs

Sami Gazzah 2009 48

6 Les systegravemes de repreacutesentation des couleurs

Kunt a deacutemontreacute qu‟en combinant trois longueurs drsquoondes particuliegraveres il est

possible de syntheacutetiser presque toutes les couleurs existantes Les trois

couleurs de base sont dites laquo couleurs primaires raquo Une couleur peut donc ecirctre

repreacutesenteacutee dans un espace agrave trois dimensions Il en existe plusieurs

- Systegraveme RGB (Red Green Blue)

- Systegraveme CMY (Cyan Magenta Yellow)

- Systegraveme XYZ

- Systegraveme HLS (Hue Magenta Saturation)

Image couleur et sa repreacutesentation matricielle

15122010

9

Sami Gazzah 2009 49

Images couleurs (24 bits)

Lrsquoespace couleur Rouge Vert Bleu (RGB)

Sami Gazzah 2009 50

Valeur R Valeur V Valeur BCouleur

correspondanteCommentaires

0 0 0 noir

0 0 255 bleu

0 255 0 vert

255 0 0 rouge

128 128 128

couleur

intermeacutediaire

correspondant agrave

un gris

255 255 255 blanc

Sami Gazzah ISITCom 200951

Exemple de deacutecomposition drsquoune 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

Lrsquoespace couleur Cyan Magenta et Jaune (GMJ)

bull les couleurs primaires CMJ sont ici les compleacutementaires des RVB

bull utiliseacute par certaines imprimantes couleurs agrave jet dencre

bull les diffeacuterentes couleurs sont obtenues par soustraction du blanc

Sami Gazzah 2009 53

Le principe de lespace HSV est de caracteacuteriser les couleurs de faccedilon plus

intuitive conformeacutement agrave la perception naturelle des couleurs en termes de

1 teinte (Hue) intuitivement cest le nom quon utilisera pour deacutesigner la couleur

vert mauve etc Ideacutealement associeacute agrave une longueur donde

2 saturation (Saturation)cest le taux de pureteacute de la couleur qui doit varier

entre la pureteacute maximale (couleur eacuteclatante) et lachromatisme (niveau de gris)

3 valeur (Value) cest la mesure de lintensiteacute 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 repreacutesentation initiale (RGB) agrave cette repreacutesentation on opegravere

de la maniegravere suivante

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 9: Cours Infographie t i 2010

15122010

9

Sami Gazzah 2009 49

Images couleurs (24 bits)

Lrsquoespace couleur Rouge Vert Bleu (RGB)

Sami Gazzah 2009 50

Valeur R Valeur V Valeur BCouleur

correspondanteCommentaires

0 0 0 noir

0 0 255 bleu

0 255 0 vert

255 0 0 rouge

128 128 128

couleur

intermeacutediaire

correspondant agrave

un gris

255 255 255 blanc

Sami Gazzah ISITCom 200951

Exemple de deacutecomposition drsquoune 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

Lrsquoespace couleur Cyan Magenta et Jaune (GMJ)

bull les couleurs primaires CMJ sont ici les compleacutementaires des RVB

bull utiliseacute par certaines imprimantes couleurs agrave jet dencre

bull les diffeacuterentes couleurs sont obtenues par soustraction du blanc

Sami Gazzah 2009 53

Le principe de lespace HSV est de caracteacuteriser les couleurs de faccedilon plus

intuitive conformeacutement agrave la perception naturelle des couleurs en termes de

1 teinte (Hue) intuitivement cest le nom quon utilisera pour deacutesigner la couleur

vert mauve etc Ideacutealement associeacute agrave une longueur donde

2 saturation (Saturation)cest le taux de pureteacute de la couleur qui doit varier

entre la pureteacute maximale (couleur eacuteclatante) et lachromatisme (niveau de gris)

3 valeur (Value) cest la mesure de lintensiteacute 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 repreacutesentation initiale (RGB) agrave cette repreacutesentation on opegravere

de la maniegravere suivante

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 10: Cours Infographie t i 2010

15122010

10

Sami Gazzah 2009 55

Quelques caracteacuteristiques drsquoimages numeacuteriques

La reacutesolution dune image = nombre de pixels par uniteacute de longueur de la

structure agrave numeacuteriser (dpi (dots per inches) ou ppp (pixel par pouce)

La reacutesolution du format de limage =nombre de pixels qui compose limage en

hauteur et en largeur (512 pixels par 512 pixels par exemple)

La taille des donneacutees pour une image (en bits) = Nlignes x Ncolonnes x B

La profondeur de bits = nombre de bits neacutecessaire pour repreacutesenter un pixel dans

l‟image numeacuterique

La dynamique dune image= leacutetendu de la gamme de couleurs 2nbre de bitspixels ndash 1

Le poids d‟une image numeacuterique est l‟espace meacutemoire qu‟elle occupe sur un

support de stockage numeacuterique = nombre de bits par pixel x nombre total de pixels

Sami Gazzah 2009 56

bullune image 200200 pixels en niveaux du gris fait un poids de

200200=40000 octets

bullimage de 200200 pixels en vraies couleurs (16 millions) (24 bits)

2002003= 120000 octets (117 Ko)

bull image de 200200 pixels en fausses couleurs (256 couleurs) (8 bits)

2002001= 40000 octets (39 Ko)

Taille des limages en pixels

Sami Gazzah 2009 57

Exercice drsquoapplication

Soit une image carreacutee au format PPM(ASCII) de 160 Ko

Quelles sont approximativement les dimensions de cette image si

on neacuteglige la taille de lrsquoen-tecircte

Quelle serait la taille du fichier si cette image eacutetait stockeacutee en

binaire

Remarques Le format PPM (Portable Pixel Map) concerne les

images couleurs Chaque pixel a pour valeur un triplet (RGB) et

chaque couleur est exprimeacutee par un caractegravere et un espace

Sami Gazzah 2009 58

Formats de fichiers dimages

Une image est un tableau de pixels

Une image est stockeacutee soit dans un fichier sous la forme de texte soit dans la

meacutemoire de lordinateur sous la forme dun vecteur

Sami Gazzah 2009 59

Les opeacuterations de bases concernant une image sont la lecture (fichier vers

meacutemoire) et leacutecriture (meacutemoire vers fichier) Les informations

neacutecessaires agrave la manipulation dune image sont

nombre de lignes

nombre de colonnes

format des pixels (bit niveaux de gris niveaux de couleurs)

compression eacuteventuelle

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 entecircte contenant

les dimensions de limage et le format des pixels Exemples les formats

PNM (portable anymap) PBM (portable bitmap) PGM (prtrable

grayscalemap) PPM (portable pixmap) Les fichiers correspondants sont

constitueacutes des eacuteleacutements 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 caractegravere despacement (blanc TABs Cs LFs)

3 La largeur de limage (valeur deacutecimale codeacutee en ASCII) suivie dun

caractegravere despacement la longueur de limage (valeur deacutecimale

ASCII) suivie dun caractegravere despacement

4 Uniquement pour PGM et PPM lintensiteacute maximum (valeur deacutecimale

comprise entre 0 et 255 codeacutee en ASCII) suivie dun caractegravere

despacement

5 Largeur x hauteur nombres Ces nombres sont soit des valeurs

deacutecimales codeacutees en ASCII et seacutepareacutees 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

ny pas de caractegraveres despacement entre les valeurs

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 11: Cours Infographie t i 2010

15122010

11

Sami Gazzah 2009 61

Chapitre 2

Transformations sur les images

Sami Gazzah 2009 62

Les transformations peuvent ecirctre classeacutees de la maniegravere suivante

bullTransformations ponctuelles

bullTransformations de voisinage

bullTransformations spectrales

bullTransformations morphologiques

Au cours du processus de traitement et drsquoanalyse lrsquoimage subit une seacuterie

de transformations

Introduction

Image sourceTransformationTransformation

TTImage transformeacutee

Sami Gazzah 2009 63

1 Transformations ponctuelles

A partir dune image source la nouvelle valeur du pixel deacutepend uniquement de

son ancienne valeur

Exemple seuillage ajustement luminositeacutecontraste opeacuterations algeacutebriques

opeacuterations logiques et arithmeacutetiques manip dhistogramme

1 Opeacuterations logiques et arithmeacutetiques

Les images opeacuterandes

doivent ecirctre de mecircme taille

peuvent ecirctre des images constantes

Exemples

addition soustraction

ET logique OU logique

Problegravemes

deacutebordements de [0 255]

normalisation Sami Gazzah 2009 64

Images en niveaux de gris ETOU logique bit agrave bit entre les 8 bits

codant les valeurs des pixels

Images binaires ETOU logique entre les pixels

Sami Gazzah 2009 65

Les opeacuterations logiques

bullET I(xy)=I1(xy) ET I2(xy) intersection logique

bullOU I(xy) = I1(xy) OU I2(xy) union logique

bullNOT I(xy) = NOT(I1(xy)

opeacuterations arithmeacutetiques

bullAddition I(xy)=I1(xy)+I2(xy)

bullSoustraction I(xy)=I1(xy)-I2(xy)

bullMultiplication

bullDivision par une constantehellip

Sami Gazzah 2009 66

Les opeacuterations logiques

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 12: Cours Infographie t i 2010

15122010

12

Sami Gazzah 2009 67

Application

Masquage

Sami Gazzah 2009 68

Les Opeacuterations arithmeacutetiques

Addition dimages

Principe I(xy)=I1(xy)+I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullDeacutecalage des valeurs dans [0 127] avant addition (perte du bit de poids faible)

bullSaturation I(xy) = min ( I1(xy)+I2(xy) 255)

bullPreacute-calcul des valeurs finales (theacuteoriques) minimale et maximale

puis recadrage de la dynamique

Utilisations principales

Augmentation de la luminance dune image (par addition dune constante ou

dune image avec elle-mecircme) et diminution du bruit dans une seacuterie dimages

))()((max

))()((min

21)(

max

21)(

min

yxIyxIi

yxIyxIi

Iyx

Iyx

))()((255

)( 21

minmax

yxIyxIii

yxI

Sami Gazzah 2009 69

Les Opeacuterations arithmeacutetiques

Soustraction dimages

Principe I(xy)=I1(xy)-I2(xy) pour tout pixel de coordonneacutees (xy)

Strateacutegies si deacutepassement de capaciteacute

bullSaturation I(xy) = max ( I1(xy) - I2(xy) 0)

bullDiffeacuterence absolue I(xy) = | I1(xy) - I2(xy) |

Utilisations principales

bullDiminution de la luminance dune image

bullDeacutetection de changements entre images

bulldeacutefauts (par comparaison avec une image de reacutefeacuterence)

bullmouvements (par comparaison avec une autre image de la seacutequence)

Sami Gazzah 2009 70

Rim Romdhaneet al AVSS10 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 limage en niveau de gris et de limage binaire suivante

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 13: Cours Infographie t i 2010

15122010

13

Sami Gazzah 2009 73

2 Identiteacute neacutegatif et Seuillage

Sami Gazzah 200974

2 Les opeacuterations geacuteomeacutetriques

Opeacuterations geacuteomeacutetriques sur une image en niveaux de gris

Sami Gazzah 2009 75

Une transformation de voisinage est telle que la nouvelle valeur

drsquoun pixel tient compte des pixels appartenant au voisinage du

pixel consideacutereacute

Le voisinage peut avoir une taille plus ou moins grande (3x3 5x5

7x7hellip) et il peut avoir une forme reacuteguliegravere (carreacute rectangle

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

deacutefini par

Dans le cas discret il est geacuteneacuteralement deacutefini sur un voisinage il

est donneacute par

Sami Gazzah 2009 77

Si on applique ceci agrave une image I1 de dimensions

finies et agrave moyenne de convolution K (K

Kernel=noyau) de dimension 3 x 3 les pixels de

lrsquoimage I1 obtenue par convolution de I2 par K ont

pour valeur

Sami Gazzah 2009 78

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

111

111

111

9

1h

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 14: Cours Infographie t i 2010

15122010

14

Sami Gazzah 2009 79

4-Transformations spectrales (1)

Transformeacutee de Fourier 2D (TF 2D)

- La TF est

Dans la cas 1D (Rappel)

Dans la cas 2D

- La TF inverse

- La TF est

- La TF inverse

Sami Gazzah 2009 80

4-Transformations spectrales (2)

Exemple des transformations spectrales transformeacutee de Fourier

Soit f(xy) deacutefinie par une matrice d‟eacutechantillons reacuteguliegraverement espaceacutes

N le nombre de lignes M nombre de colonnes

- La TF est deacutefinie par

- La TF inverse est deacutefinie 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 reacutepeacutetitions dans la chaicircne agrave encoder

Exemple Formats BMP TIFF PCX (Paintbrush)

Sami Gazzah 2009 83

Chapitre 3

RESTAURATION DrsquoIMAGES

Sami Gazzah 2009 84

L‟acquisition s‟accompagne toujours d‟une distorsiondeacutegradation

Il existe diffeacuterentes sources de deacutegradation (bruit) d‟une image

bruit lieacute au contexte de lacquisition Bougeacute mauvaises conditions

d‟eacuteclairagehellip

bruit lieacute au capteur Capteur de mauvaises qualiteacutes mauvaise mise

au point etchellip

bruit lieacute agrave leacutechantillonnage Une mauvaise freacutequence

d‟eacutechantillonnage peut introduire dans l‟image des points blancs ou

noirs connus souvent sous l‟appellation laquo sel et poivre raquo

bruit lieacute agrave la nature de la scegravene Preacutesence de fumeacutee de nuage

etchellip

Il faut corriger l‟image par un proceacutedeacute algorithmique

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 15: Cours Infographie t i 2010

15122010

15

Sami Gazzah 2009 85

Restauration des Images monochromatiques et des images

couleurs

Au deacutebut de l‟imagerie numeacuterique les algorithmes deacuteveloppeacutes eacutetaient

destineacutes aux images en niveaux de gris Avec les progregraves techniques et le

deacuteveloppement des outils informatiques le traitement des images

couleurs est devenu possible

bull Approche marginale

Sami Gazzah 2009 86

Approche vectorielle

Dans lapproche vectorielle le vecteur couleur est consideacutereacute globalement

et le traitement doit ecirctre alors reacuteellement vectoriel Il ny a pas dans ce cas

une eacutetape de fusion ou de seacuteparation explicite entre les diffeacuterentes

composantes couleur de lrsquoimage Dans ce cas la correacutelation entre les

diffeacuterentes composantes peut ecirctre prise en compte ce qui aboutit

geacuteneacuteralement agrave des reacutesultats meilleurs que ceux du traitement marginal

Sami Gazzah 2009 87

Rappel

Sami Gazzah 2009 88

Sami Gazzah 2009 89

Nouvelle

image

Nouvelle valeur

de pixel21

1 11

1 111 11

Noyau

Nouvelle valeur de pixel =

9

22 2719

9 19

51 21 14Image

originale

Sami Gazzah 2009 90

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 16: Cours Infographie t i 2010

15122010

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 centreacute en ce point

Sami Gazzah 2009 92

Sami Gazzah 2009 93 Sami Gazzah 2009 94

En traitement d‟image les tailles des fenecirctres utiliseacutees pour le

filtrage meacutedian sont geacuteneacuteralement impaires 3 3 5 5 7 7

exemple

fenecirctre de 5 pixels en croix

Pour les fenecirctres de taille paire ( 2 K valeurs ) apregraves

ordonnancement croissant des valeurs prendre la moyenne des 2

valeurs centrales

valeur de sortie( Kiegraveme valeur ordonneacutee + (K+1)iegraveme valeur ordonneacutee )

2=

Sami Gazzah 2009 95 Sami Gazzah 2009 96

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 17: Cours Infographie t i 2010

15122010

17

Sami Gazzah 2009 97

Image laquo Piegraveces raquo de reacutefeacuterence bruiteacutee ( bruit de type impulsionnel ) puis filtreacutee

avec un filtre moyenneur (33) et un filtre meacutedian (33)

Image de reacutefeacuterence Image bruiteacutee

Bruit

Le filtrage meacutedian est plus adapteacute que le filtrage

lineacuteaire pour reacuteduire le bruit impulsionnel

Observation

Comparaison filtre meacutedian et filtre moyenneur

Sami Gazzah 2009 99 Sami Gazzah 2009 100

Sami Gazzah 2009 101 Sami Gazzah 2009 102

Chapitre 4

REHAUSSEMENT DrsquoIMAGES

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 18: Cours Infographie t i 2010

15122010

18

Sami Gazzah 2009 103

Introduction

Le preacutetraitement d‟image est l‟ensemble des opeacuterations effectueacutees sur

une image soit pour l‟ameacuteliorer soit pour la restaurer

Le preacutetraitement d‟une image vise soit agrave renforcer la ressemblance des

pixels soit au contraire agrave accentuer les diffeacuterences de pixels d‟une mecircme

reacutegion

Accroitre la seacuteparabiliteacute des reacutegions composant une scegravene revient agrave

augmenter les contrastes vu

On applique le rehaussement des images afin de faciliter l‟interpreacutetation

visuelle et la compreacutehension des images

Pour comprendre ce type de rehaussement il faut comprendre le concept

d‟histogrammeSami Gazzah 2009 104

Deacutefinition de lrsquohistogramme drsquoune image

L‟histogramme est un outil qui permet de comptabiliser le nombre

d‟occurrences de chacune des valeurs dans une image en niveaux de gris

Dans une image couleur il est neacutecessaire d‟utiliser plusieurs

histogramme sur chacune des composantes du systegraveme de repreacutesentation

de la couleur

Soit h l‟histogramme de l‟image I de dimension (w x h) h[i] repreacutesente

le nombre d‟occurrence de chaque niveau de quantification i La probabiliteacute

estimeacutee du niveau i dans une image I est

hw

ihip

][)(

Image de 256 256 pixels

codeacutes chacun sur 8 bitsPopulation de pixels pour chaque

niveaux de gris [0 255]

Pour chaque niveau de gris on compte le nombre de pixels s‟y reacutefeacuterant

Pour chaque niveau on trace le graphe en bacircton du nombre de pixels

(possibiliteacute de regrouper les niveaux proches en une seule classe)

Exemple drsquohistogramme pour une image en niveaux

de gris

0 50 100 150 200 250

0

200

400

600

800

1000

cameraman

Image laquo A raquo en

niveaux de gris

Matrice des valeurs de luminance

des pixels de lrsquoimage laquo A raquo

Histogramme

de lrsquoimage

laquo A raquo

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 repreacutesenteacutes par 24 12 et 28 pixels

repreacutesentation de cette population de pixels sur lhistogramme

Limage laquo A raquo comporte 3 niveaux de gris diffeacuterents 0 1 et 2

Compter le nombre de pixels pour chaque niveau de gris agrave lrsquoaide de la

matrice des valeurs de luminance

Exemple simple de calcul drsquohistogramme pour une image

Image laquo A raquoValeurs de luminance de

laquo A raquo

Histogramme cumuleacute de

laquo A raquo

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 dun histogramme particulier faisant appel aux cumuls des niveaux de gris

Histogramme cumuleacute

Utile pour certains traitements dimage tels que lrsquoeacutegalisation

dhistogramme ( ameacutelioration de contraste)

Chaque bacircton cumule le nombre de pixels du niveaux de gris concerneacute et des

niveaux de gris infeacuterieurs les niveaux 0 1 2 sont donc repreacutesenteacutes

respectivement par 24 36 et 64 pixels

Histogramme cumuleacute drsquoune image L‟histogramme ne donne pas L‟histogramme ne donne pas

d‟informations sur la reacutepartitiond‟informations sur la reacutepartition

Trois images diffeacuterentes ayant un mecircme histogramme

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 19: Cours Infographie t i 2010

15122010

19

Modification de lrsquohistogrammeModification de lrsquohistogramme

On appelle dynamique des niveaux de gris lintervalle [nminnmax] de

niveaux de gris dans lequel sont compris tous les pixels de limage

Le but de la modification dhistogramme modifier chaque niveau de

gris pour accroicirctre le contraste On modeacutelise cette transformation par

leacutequation Irsquo(ij) = g(I(ij)) ougrave g est la fonction de contraste

Chaque transformation sera deacutecrite par une courbe repreacutesentant la

relation entre un niveau de gris de limage de deacutepart (abscisse) et le

niveau qui lui correspond dans limage ameacutelioreacutee (ordonneacutee)

Sami Gazzah 2009 109

Masquage de zones Masquage de zones Extraction d‟une Extraction d‟une

fenecirctre d‟intensiteacutefenecirctre d‟intensiteacute ((slicingslicing intensiteacute)intensiteacute)

Cette transformation consiste agrave remplacer un intervalle de niveaux

de gris par du blanc (nmax) par du noir (nmin) ou par une valeur

intermeacutediaire du niveau de gris

Sami Gazzah 2009 110

Courbes repreacutesentant de gauche agrave droite lextraction dune fenecirctre dintensiteacute et le masquage blanc et noir de lintervalle [ab]

n-1

n-1

0 n-1

n-1

0a ab b n-1

n-1

0 a b

Sami Gazzah 2009 111

Exemples de Masquage de zonesInversion de la dynamiqueInversion de la dynamique

But produire le neacutegatif d‟une image

donneacutee

Sami Gazzah 2009 112

Sami Gazzah 2009 113

Etirement drsquohistogramme

Sami Gazzah 2009 114

Etirement drsquohistogramme

Augmentation du contraste par eacutetirement d‟histogramme

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 20: Cours Infographie t i 2010

15122010

20

Sami Gazzah 2009 115

Eacutegalisation dhistogramme

But ameacutelioration du contraste

Distribution uniforme des niveaux de gris

Elle se deacutefinit agrave laide de lhistogramme cumuleacute de limage hc(n)

qui repreacutesente le nombre de pixels de limage dont le niveau de

gris est infeacuterieur ou eacutegal agrave n

Deacutefinition de la transformation deacutegalisation dhistogramme soit

I le niveau de gris dun pixel de deacutepart le niveau de gris de limage

darriveacutee I‟ sera

Sami Gazzah 2009 116

Sami Gazzah 2009 117

Effet de lrsquoeacutegalisation drsquohistogramme

Sami Gazzah 2009 118

Augmentation du contraste exemples et comparaison

Original Eacutetirement d‟histogramme Eacutegalisation

Le rehaussement du contraste est plus marqueacute avec l‟eacutegalisation

d‟histogramme autorisant la deacutetection de structures situeacutees dans

l‟ombre

Sami Gazzah 2009 119

Chapitre 5

SEGMENTATION DrsquoIMAGES

Sami Gazzah 2009 120

Une image est geacuteneacuteralement composeacutee d‟objets L‟analyse de cette

image neacutecessite l‟identification de ces objets

La segmentation dimages est lun des problegravemes phares du traitement

dimages Elle consiste agrave partitionner limages en un ensemble de

reacutegions connexes Linteacuterecirct de ces reacutegions est de pouvoir ecirctre

manipuleacutees ensuite via des traitements de haut niveau pour extraire

des caracteacuteristiques de forme de position de taille etc

Introduction

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 21: Cours Infographie t i 2010

15122010

21

Sami Gazzah 2009 121 Sami Gazzah 2009 122

Meacutethodes statistiquesSegmentation par Histogrammes

Sami Gazzah 2009 123

Meacutethodes statistiquesSeacutelection Reacutecursive sur Histogrammes

Ohlander Price et Reddy (1978)

Sami Gazzah 2009 124

Segmentation par approche contourIntroduction

Le contour est deacutefini comme le lieu des points connexes qui

possegravedent une forte transition d‟intensiteacute lumineuse ou de texture Le

traitement qui vise agrave l‟obtenir est appeleacute extraction de contour on

parle aussi de deacutetection de contour

Le processus d‟extraction de contour peut ecirctre deacutecomposeacute en

plusieurs eacutetapes distinctes que nous allons les deacutetailler comme suit

- La mise en eacutevidence des contours

- L‟extraction des contours

- La fermeture des contours

Sami Gazzah 2009 125

Segmentation par approche contourLa mise en eacutevidence des contours

Elle s‟obtient par une diffeacuterentiation de l‟image et elle peut

s‟appliquer agrave des images binaires ou non le but de la deacutetection de

contours est d‟obtenir dans un premier temps une image binaire ougrave

chaque contour est d‟eacutepaisseur 1 et sans discontinuiteacute

rehausser le contour

suivre le contour

les points du contour correspondent au maximum en valeur absolue

de la deacuteriveacutee primaire de l‟image on obtient alors un gradient ou au

passage par zeacutero de la deacuteriveacutee seconde de l‟image on obtient alors

un laplacien

Sami Gazzah 2009 126

Segmentation par approche contourLa mise en eacutevidence des contours

La deacutetection de contours peut ecirctre reacutealiseacutee gracircce agrave des filtres

dont les coefficients ont eacuteteacute soigneusement choisis Nous

aborderons dans cette preacutesentation 3 filtres les filtres de

Prewitt Roberts et Sobel

Ce jeu de filtres (Prewitt Roberts et Sobel) est constitueacute d‟une

paire de filtres lineacuteaires qui deacutetectent le contours dans deux

directions orthogonales (vertical et horizontal)

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 22: Cours Infographie t i 2010

15122010

22

Sami Gazzah 2009 127

Segmentation par approche contourFiltre de Perwitt

Les filtres de Perwitt sont les suivants

Filtre horizontal

Filtre vertical

111

000

111

h

101

101

101

v

Sami Gazzah 2009 128

Segmentation par approche contourFiltre de Perwitt

A partir d‟une image I on calcule Gh et Gv images

correspondant au filtrage de I par h et v Ces images

contiennent les contours horizontaux et verticaux

Si l‟on souhaite obtenir une image de contour unique ne tenant

pas compte de l‟orientation on calcule

Orientation du contour

Image binairehellipchoisir un seuil de deacutetection

22

vh GGG

)(vh

GGarctg

Sami Gazzah 2009 129

Segmentation par approche contourFiltre de Sobel

Les filtres de Sobel sont les suivants

Filtre horizontal

Filtre vertical

121

000

121

h

101

202

101

v

Sami Gazzah 2009 130

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 131

Segmentation par approche contourFiltre de Sobel

Sami Gazzah 2009 132

Segmentation par approche contourFiltre de Roberts

Les filtres de Roberts sont les suivants

Filtre diagonal

Filtre anti-diagonal

10

01h

01

10v

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 23: Cours Infographie t i 2010

15122010

23

Sami Gazzah 2009 133

Segmentation par approche contourFiltre de Kirsch

Ce deacutetecteur utilise huit noyaux de convolution lui permettant de deacutetecter

des contours en fonction de huit directions agrave

15

335

305

335

1

d 15

333

305

355

2

d 15

333

303

555

3

d

15

333

503

553

4

d 15

533

503

533

5

d 15

555

503

333

6

d

15

555

303

333

7

d 15

355

305

333

8

d

Sami Gazzah 2009 134

Contours et Laplacien

Il s‟agit de calculer la deacuteriveacutee seconde de l‟image

Le Laplacien est tregraves sensible au bruit pour limiter l‟effet du bruit le

Laplacien est approximeacute par un masque qui effectue en mecircme temps

une opeacuteration de filtrage par une Gaussienne qui repreacutesente l‟eacutetape

de lissage de l‟image puis vient l‟application du laplacien Les masques

du Laplacien Gaussien sont preacutesenteacutes ci-apregraves

Segmentation par approche contour

Sami Gazzah 2009 135

Contours et Laplacien

Le contour est ensuite deacutetermineacute par la deacutetection des

passages par zeacutero du laplacien de l‟image

88888888888888

010

141

010

1h

111

101

111

2h

121

242

121

3h

Sami Gazzah 2009 136

Contours et Laplacien

Sami Gazzah 2009 137

Seuillage

Les filtres preacuteceacutedents nous fournissent des images des sauts ou

diffeacuterences d‟intensiteacute

Le seuillage permet d‟eacuteliminer des points en lesquels la diffeacuterence

d‟intensiteacute est tregraves faible

Le seuillage peut ecirctre pousser afin d‟obtenir une image binaire (TOR)

Le seuillage dans sa forme le plus simple ne tient pas compte de la

topologie et peut conserver un point bruiteacute isoleacute ou eacuteliminer une portion

de contour d‟intensiteacute faible

Sami Gazzah 2009 138

Seuillage par hysteacutereacutesis

c‟est une fonction agrave 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 n‟est

pas un point de contour

Les points de module entre le seuil-bas et le seuil-haut sont des points

de contour s‟il possegravede un point de contour dans leur voisinage

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 24: Cours Infographie t i 2010

15122010

24

Sami Gazzah 2009 139

Seuillage par hysteacutereacutesis

seuil haut

Seuil bas

point sur contour

point hors contour

Seuillage par hysteacuterisais les points de lrsquoimage de contour de valeur

supeacuterieur au seuil haut sont des points de contours A partir de ces points de

contours le voisinage de la direction du contour sont examineacutes srsquoils sont de

valeur supeacuterieure au seuil bas ils sont ajouteacutes au points de contoursSami Gazzah 2009 140

Chapitre 6

Introduction aux

opeacuterateurs

morphomatheacutematique

Sami Gazzah 2009 141

1 Introduction

Les opeacuterateurs morphomatheacutematique (=Morphologie Matheacutematique)

permettent d‟ameacuteliorer les images de contours et apporter d‟autres

fonctionnaliteacutes

Ils ont eacuteteacute initialement appliqueacute sur des images NampB (Matheron et

Sarra1965) ensuite eacutetendus agrave des images en nivaux de gris par Doupherty

(1978)

Pour les appliquer sur des images couleurs on peut les appliquer

seacutepareacutement agrave chaque composante couleur et combiner les reacutesultats

Sami Gazzah 2009 142

Diffeacuterentes opeacuterations

eacuterosion dilatation

ouverture fermeture

Squelettisation

hellip

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 infeacuterieure agrave celle de leacuteleacutement

structurant vont disparaicirctre

agrandit les trous

Sami Gazzah 2009144

1I Rappels sur les ensembles

L‟eacutegaliteacute

L‟inclusion

Lbdquointersection

L‟union

La diffeacuterence

La diffeacuterence symeacutetrique

La compleacutementariteacute E eacutetant un ensemble

servant de reacutefeacuterentielle

Dans ce qui suit les lettres majuscules deacutesignent des ensembles et les lettres

minuscules deacutesignent des eacuteleacutements appartenant aux ensembles

Sur les ensembles on deacutefinit les opeacuterations suivantes

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 25: Cours Infographie t i 2010

15122010

25

Sami Gazzah 2009145

1I Rappels sur les ensembles

Sami Gazzah 2009146

1I Rappels sur les ensembles

Lois de De Morgan

Reacuteflexion La reacuteflexion d‟un ensemble A est deacutefinie par

Un ensemble symeacutetrique veacuterifiant ndashA=A C‟est le cas des cercles et des carreacute par

exemple

ccc YXYX )(

ccc YXYX )(

AaaA

A -A B -B

Sami Gazzah 2009147

1I Rappels sur les ensembles

Addition de Minkowski l‟addition d‟un eacuteleacutement x agrave un ensemble A par x est

deacutefinie par

Cette notion n‟est pas uniquement ensembliste elle nous oblige agrave deacutefinir un point

de reacutefeacuterence

On en deacuteduit l‟addition d‟un ensemble B agrave un ensemble A c‟est le reacutesultat de

l‟addition de chaque eacuteleacutement de B agrave A

L‟addition de Minkowski est commutative Elle est eacutegalement appeleacute dilatation

AaxaxAB

A

A

x

AxBxAaBaBbbABAC )()()(

le translateacute de X par b

Sami Gazzah 2009148

1I Rappels sur les ensembles

Eleacutement structurant les opeacuterations morphomatheacutematiques sont deacutefinis agrave

partir des ensemble B discrets appeleacute eacuteleacutement structurant Ces eacuteleacutement

permettent de deacutefinir le type de voisinage souhaiteacute

Addition de Minkowski d‟un ensemble A et d‟un ensemble B

BA

Sami Gazzah 2009149

1II Dilatation

Le reacutesultat de dilatation de lrsquoensemble A par lrsquoensemble B

est lrsquoaddition de Minkowski crsquoest lrsquoensemble des points tel

que lorsque B est centreacute 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 lrsquoimage

dilateacutee de la forme A en remplaccedilant tout pixel par le

maximum des intensiteacutes des voisins selon la forme B

Sami Gazzah 2009 150

1II Dilatation1 Image NampB

Soit k l‟eacuteleacutement structurant de taille (2k+1) x (2k+1) L‟algorithme de

dilatation est le suivant on parcourt tous les pixels de l‟image sauf les

bord de l‟image d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il

possegravede un voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un

objet il prend le couleur de l‟objet si non il n‟est pas modifieacute

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 26: Cours Infographie t i 2010

15122010

26

la dilatation (noteacutee ) drsquoune image monochrome laquo f raquo par un

eacuteleacutement structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) U ( B )

En consideacuterant un eacuteleacutement structurant plan de valeur nulle sur son

support

( f B ) (P) = Max valeurs des pixels du voisinage du pixel P

1II Dilatation1 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 reacutefeacuterence

Eacuteleacutement structurant

(8-connexiteacute)

liste ordonneacutee des valeurs du voisinage

- - -

-

-

-

-

-

1II Dilatation1 Image niveaux de gris

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image de reacutefeacuterenceImage dilateacutee

morphologiquement

La dilatation en niveaux de gris accroicirct la luminance des

pixels entoureacutes de voisins plus lumineux

Observation

Sami Gazzah 2009154

VI Erosion

L‟eacuterosion est deacutefinie par

On deacutefinit la soustraction de Minkowski par

On a eacutequivalence entre eacuterosion et soustraction de Minkowski si B est

symeacutetrique (si B=-B)

D‟un point de vue binaire l‟eacuterode de A par B correspond agrave l‟ensemble

des points tels que si B est centre sur ce points B est entiegraverement inclus

dans A

AxBxBbbABAC )()(

)()( BbbABAC

Sami Gazzah 2009 155

VI Erosion1 Image NampB

on parcourt tous les pixels de l‟image sauf les bord de l‟image

d‟eacutepaisseur k pour chaque pixel du fond rencontreacute s‟il possegravede un

voisin au sens de l‟eacuteleacutement structurant qui appartient agrave un objet il

prend le couleur du fond si non il n‟est pas modifieacute

VI Eacuterosion drsquoune image en niveaux de gris

Lrsquoeacuterosion (noteacutee Ө ) drsquoune image monochrome laquo f raquo par un eacuteleacutement

structurant laquo B raquo est deacutefinie en terme de sous-graphe

bull f Ө B = T [ Y ] = Supl l tel que (m n l) Y

bullY = U ( f ) Ө U ( B )

Classiquement on considegravere un eacuteleacutement structurant plan de

valeur nulle sur son support

( f Ө B ) (P) = Min valeurs des pixels du voisinage du pixel P

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 27: Cours Infographie t i 2010

15122010

27

VI Eacuterosion drsquoune 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 reacutefeacuterence

ӨӨ

Eacuteleacutement structurant

(4-connexiteacute)

liste ordonneacutee des valeurs du voisinage

-

-

-

-

Exemples de filtrages morphologiques(eacuteleacutement structurant 33 complet)

Image eacuterodeacutee

Lrsquoeacuterosion en niveaux de gris reacuteduit la luminance des pixels

qui sont entoureacutes de voisins de moindre intensiteacute

Image de reacutefeacuterence

Observation

Sami Gazzah 2009 159

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 1 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

de dilatations avec deux eacuteleacutements structurant diffeacuterents

Dilatation avec (a) Dilatation avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 4

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel

du support qui est eacutegal agrave la valeur 1 ou qui a l‟un de ses 8

voisins agrave la valeur 1 est mis agrave la valeur 1 apregraves filtrage

Dans les deux cas on observe qu‟une dilatation eacutelimine les

trous isoleacutes dans les objets et dilate le contour des objets en

tenant compte de l‟eacuteleacutement structurant

Sami Gazzah 2009 160

Exercice 1

Sami Gazzah 2009 161

Eacuteleacutement structurant (a)

(4-connexiteacute)

-

-

-

-

Eacuteleacutement structurant (b)

(8-connexiteacute)

- - -

-

-

-

-

-

Exercice 2 Sur la mecircme image de deacutepart on reacutealise deux opeacuterations

d‟eacuterosions avec deux eacuteleacutements structurant diffeacuterents

Erosion avec (a) Erosion avec (b)

image de deacutepart

cas a L‟eacuteleacutement structurant est agrave 4-connexiteacute (origine agrave 4 voisins)

Chaque pixel du support qui a la valeur 0 ou qui a l‟un de ses 4

voisins agrave la valeur 0 est mis agrave la valeur 0 apregraves filtrage

cas b L‟eacuteleacutement structurant est agrave 8-connexiteacute Chaque pixel du

support qui a la valeur 0 ou qui a l‟un de ses 8 voisins agrave la valeur 0

est mis agrave la valeur 0 apregraves filtrage

Dans les deux cas on observe qu‟une eacuterosion eacutelimine les pixels

isoleacutes sur le fond et eacuterode le contour des objets

Sami Gazzah 2009 162

Exercice 2

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 28: Cours Infographie t i 2010

15122010

28

ConclusionsConclusions

Erosion

les objets relieacutes entre eux vont ecirctre seacutepareacutes

Une eacuterosion de taille n peut se reacutealiser en reacutepeacutetant une

eacuterosion n fois avec un eacuteleacutement structurant de taille 1 ou en

appliquant une seule eacuterosion avec un eacuteleacutement structurant

de taille n

Dilatation

des objets sont situeacutes agrave une distance moins grande que la taille

de leacuteleacutement structurant il vont fusionner

Sami Gazzah 2009 163 Sami Gazzah 2009 164

Sami Gazzah 2009 165

Elimine pixels isoleacutes sans inteacuterecirct

L‟ouverture (opening) consiste agrave une eacuterosion suivi d‟une dilatation

Les petites structures et deacutetail fins disparaissent et ne sont pas recreacuteeacutees

lors de la dilation Une opeacuteration d‟ouverture est ainsi inteacuteressante pour

eacuteliminer les petits morceaux de contours bruiteacutes dans une image de

contours

V Ouverture et fermeture1 Ouverture

BBABAC )(

Sami Gazzah 2009 166

V Ouverture et fermetureII Fermeture

La fermeture (closing) consiste agrave une dilatation suivi d‟une eacuterosion

Les structures proches fusionnent lors de la dilation mais seules les

fusions ponctuelles disparaissent agrave nouveau lors de l‟eacuterosion Une

opeacuteration de fermeture est ainsi inteacuteressante pour boucher les petits

trous

Sami Gazzah 2009 167 Sami Gazzah 2009 168

Exercice 3 Sur l‟image de deacutepart on reacutealise une opeacuteration de

fermeture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Fermeture = dilatation puis eacuterosion

Image de deacutepart Image dilateacutee Image dilateacutee puis eacuterodeacutee

Combler les trous

Reacutetablir les jonctions

tout en preacuteservant la taille

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 29: Cours Infographie t i 2010

15122010

29

Sami Gazzah 2009 169

Exercice 4 Sur l‟image de deacutepart on reacutealise une opeacuteration

d‟ouverture binaire par l‟eacuteleacutement structurant 4-connexiteacute Conclusions

Eacuteleacutement structurant

(4-connexiteacute)

-

-

-

-Ouverture = eacuterosion puis dilatation

Image de deacutepart Image eacuterodeacutee Image eacuterodeacutee puis dilateacutee

Supprimer les fausses alarmes

Seacuteparer les objets accoleacutes

tout en preacuteservant la tailleSami Gazzah 2009 170

Appliquer les filtres suivants sur limage donneacutee Quelles sont les valeurs choisies

aux bords de limage et quelles sont les modifications visuelles

a) filtre moyenneur M3acute3(19)

b) eacuterosion

c) dilatation

d) meacutedian

e) fermeture

f) ouverture

Exercice 5

Sami Gazzah 2009 171

IV Amincissement et Squelettisation

La squelette (skeleton) d‟une forme est l‟axe meacutedian L‟inteacuterecirct de cette

opeacuteration est dans

La reconnaissance de caractegraveres

Deacutetection des reacuteseaux routiers

La planification de trajectoirehellip

Une meacutethode couramment employeacutee est une amincissement reacutepeacuteteacute

jusqu‟agrave le convergence (n‟apporte aucune modification)

Sami Gazzah 2009 172

IV Amincissement et Squelettisation1 Opeacuteration Tout Ou Rien laquoHit or Missraquo

Cette transformation est deacutefinie par

leacuteleacutement structurant eacutetendu est centreacute sur chaque pixel de limage

comme pour les opeacuterations ensemblistes

la question poseacutee est est ce que le contenu de limage est identique au

contenu de leacuteleacutement structurant

si la reacuteponse est oui le pixel reacutesultant vaut 1 si non il vaut 0

Une application permet de deacutetecter des configurations locales

particuliegraveres dans une image

plusieurs masques peuvent ecirctre utiliseacutes indeacutependamment les images

reacutesultat eacutetant ensuite combineacutees par une opeacuteration ou

)()( cc BABABA

Bc-

est le compleacutementaire

local de B

Sami Gazzah 2009 173

IV Amincissement et Squelettisation1 Opeacuteration laquoHit or Missraquo

Exemple dopeacuteration Hit or Miss deacutetection des coinsSami Gazzah 2009 174

IV Amincissement et Squelettisation1 Amincissement (thinning)

bull La transformation TOR nous permet eacutegalement de deacutefinir

l‟amincissement

bullL‟amincissement consiste agrave soustraire limage reacutesultat dun hit or miss de

limage initiale

bull des amincissements successifs conduisent au squelettisation

)()( BAAAthin

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 30: Cours Infographie t i 2010

15122010

30

Sami Gazzah 2009 175

IV Amincissement et Squelettisation1I Squelettisation

Appliquer des amincissements successifs puis s‟arrecircter lorsque l‟amincissement

n‟apporte plus de modification C‟est une eacuterosion particuliegravere ougrave les pixels sont

supprimeacutes agrave la condition quils ne provoquent pas la seacuteparation dune reacutegion en

deux

Sami Gazzah 2009 176

IV Amincissement et Squelettisation1I Squelettisation

Sami Gazzah 2009 177

Chapitre 7

Transformations

geacuteomeacutetriques 2D

Sami Gazzah 2009 178

I Introduction

On entend par transformation 2D l‟ensemble des transformations du

plan pouvant ecirctre appliqueacutees aux pixels de l‟image sans consideacuteration

de l‟intensiteacute

Par exemples

Reacuteduction agrandissement

Deacuteformation d‟image

Recalage d‟une photo scanneacutee

Recaler des images que l‟on veut comparer

Mosaiumlque d‟images

Sami Gazzah 2009 179

I Transformations euclidiennes

Elles preacuteservent les distances et les angles

Elles sont les compositions de translations et de rotations

1) Translation

Ougrave Tx et Ty sont les deacuteplacements en x et en y de la translation

y

x

Tyy

Txx

Sami Gazzah 2009 180

2) Rotation

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 31: Cours Infographie t i 2010

15122010

31

Sami Gazzah 2009 181 Sami Gazzah 2009 182

3) Remarques (1)

Sami Gazzah 2009 183

3) Remarques (2)

Sami Gazzah 2009 184

II Homotheacuteties

Changement deacutechelle par rapport agrave lorigine (scaling zoom)

Ougrave Sx et Sy sont les facteurs dagrandissement ( gt1) ou de

reacuteduction ( lt1) en x et en y

ySy

xSx

y

x

Sami Gazzah 2009 185

II Homotheacuteties

Sami Gazzah 2009 186

II Homotheacuteties

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 32: Cours Infographie t i 2010

15122010

32

Sami Gazzah 2009 187

III Reacuteflexions

Reacuteflexions par rapport aux axes (flip miroir)

Sami Gazzah 2009 188

IV Cisaillement

Cisaillement (glissement shearing) on eacutetire suivant un ou plusieurs axes

Sami Gazzah 2009 189

Transformations inverses

Sami Gazzah 2009 190

Repreacutesentation Matricielle

IV Autres (reacuteflexions 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 n‟a pas la certitude que tous les pixels de l‟image

transformeacutee recevront une valeur =gt ldquotrousrdquo

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 33: Cours Infographie t i 2010

15122010

33

Interpolation Inverse

Sami Gazzah 2009 193

o Interpolation de la valeur du pixel agrave partir des voisins plus

facile

oAucun ldquotrourdquo car on parcourt tous les pixels de l‟image

transformeacutee Sami Gazzah 2009 194

V Objet vectoriel - Objet bitmap

Objet vectoriel

Essentiellement on transforme

les sommets (ou points de

controcircle) et on retracehellip

Objet ldquobitmaprdquo

On doit calculer la nouvelle

position de chaque pixel De plus on

doit geacuteneacuteralement interpoler les

niveaux de gris (couleurs)hellip

Sami Gazzah 2009 195

IV Assignation des niveaux de gris

Neacutecessaire car la position d‟un pixel transformeacute n‟est pas entiegraverehellip

Plusieurs meacutethodes

Interpolation au plus proche voisin

Interpolation bilineacuteaire

Interpolation bicubique

Autres types d‟interpolation

Sami Gazzah 2009 196

IV Assignation des niveaux de gris

Linterpolation de limage cest ce qui arrive lorsquon redimensionne

une image numeacuterique ou quon la redimensionne avec une distorsion

quon change la perspective etc

Exemple 1

Image originale (sans interpolation)

Image agrandie et donc interpoleacutee

Perte de netteteacute due agrave linterpolation

Sami Gazzah 2009

197

IV Assignation des niveaux de gris

Exemple 2 recadrage dimage

Nous allons agrandir cette image agrave 180

Il va donc nous manquer des informations lagrave ougrave lon va creacuteer des

pixels pour agrandir limage

Reacutesultat sans interpolation le logiciel agrandit simplement les pixels

Reacutesultat avec interpolation le logiciel calcule une couleur intermeacutediaire

pour chaque nouveau pixel

Sami Gazzah 2009

198

IV Assignation des niveaux de gris

Image originale

Interpolation au plus

proche voisin

Interpolation

bilineacuteaireInterpolation

bicubique

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 34: Cours Infographie t i 2010

15122010

34

Sami Gazzah 2009 199

IIV Interpolation au plus proche voisin

Cest lalgorithme le plus rapide agrave calculer

Prend en compte dans le calcul que le pixel le plus proche du point

agrave interpoler

Consiste tout simplement agrave 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 bilineacuteaire

Fonction bilineacuteaire de 4 pixels voisins ( en 2 D )

i-1 i i+1

i-1 i-12 i i+12 i+1 i+32

yi=xiYi+12=(xi+xi+1)2

Problegraveme pour le dernier point

Extrapolation lineacuteaire de

2 xn-xn-1

Principe 1D

attribuer agrave chaque point cible une

combinaison lineacuteaire des quatre

points sources les plus proches par

la transformation inverse

Sami Gazzah 2009 201

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 202

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 203 Sami Gazzah 2009 204

IIV Interpolation bilineacuteaire

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 35: Cours Infographie t i 2010

15122010

35

Sami Gazzah 2009 205

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 206

IIV Interpolation bilineacuteaire

Sami Gazzah 2009 207

IIV Interpolation bilineacuteaire exemple

Sami Gazzah 2009 208

IIV Interpolation bicubique

Sami Gazzah 2009 209

exemple

Sami Gazzah 2009 210

Chapitre 8

Geacuteneacuteration de segments de

droite et de cercles en 2D

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 36: Cours Infographie t i 2010

15122010

36

Sami Gazzah 2009 211

Infographie 2D besoin de dessiner des primitives de

base (segments cercles hellip)

Espace discreacutetiseacute (pixels) il faut trouver un moyen pour

afficher des segments ou des cercles

I Segments 2D cercles1 Introduction

Comment trouver les pixels agrave allumer pour approximer au mieux une

droite ou un cercle

Algorithme rapide et preacutecisSami Gazzah 2009 212

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=ax+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ya

Sami Gazzah 2009 213

Rappelhellip

Agrave partir des coordonneacutees des 2

extreacutemiteacutes d‟un segmenthellip

Eacutequation d‟une droite y=mx+b

Calcul de la pente

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

12

12

xx

yy

x

ym

Sami Gazzah 2009 214

Exemple

Sami Gazzah 2009 215

Agrave partir des coordonneacutees des 2 extreacutemiteacutes d‟un segmenthellip

Un algorithme simple

Boucle de x1 agrave x2 dx=1

ALLUME (x Arrondir(y))

Avec x2gtx1

Arrondir(y) = Arrondir(ax+b)

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Sami Gazzah 2009 216

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Choix de lrsquoaxehellip

Peu efficace

bullagrave chaque iteacuteration 1 multiplication (ou division) + 1 addition

+ 1 arrondi

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 37: Cours Infographie t i 2010

15122010

37

Sami Gazzah 2009 217

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

DDA (Digital Differential Analyzer)

y et m doivent ecirctre des reacuteelsSami Gazzah 2009 218

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Calcul en entier (donc plus rapide)

Baseacute sur le choix entre deux points discrets deacutependant de leur

distance respective avec le point reacuteel ideacuteal

On simplifie le problegraveme en traitant drsquoabord le traceacute drsquoun segment

dans le 1er octant m infeacuterieur agrave1 et positif (0ltmlt 1)

Facilement geacuteneacuteralisable aux autres octants

Sami Gazzah 2009 219

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Traceacute d‟un segment dans le premier octant mlt1

On part d‟un point (xi yi) allumeacute

Sami Gazzah 2009 220

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

On ne calcule pas reacuteellement les distances rArr on veacuterifie si la diffeacuterence

entre les deux distances est positive ou neacutegative

Le signe de la longueur (d1-d2) deacutetermine s‟il faut allumer le pixel L ou H

L

H

Sami Gazzah 2009 221

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Comme m=ΔyΔx on multiplie cette diffeacuterence par Δx pour eacuteviter la

division

Mais que vaut p1

Sami Gazzah 2009 222

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 38: Cours Infographie t i 2010

15122010

38

Sami Gazzah 2009 223

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Pour eacuteviter de calculer cette diffeacuterence pour chaque point on cherche

une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

Sami Gazzah 2009 224

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009 225

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Sami Gazzah 2009

Exercice

Tracer le segment de droite

pi xi yi

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

y

x

Sami Gazzah 2009 227

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

Sami Gazzah 2009 228

I Segments 2D cercles2 Geacuteneacuteration de segments de droite 2D

Algorithme de Bresenham

Techniques de geacuteneacuteralisation aux autres octants

hellip interchanger les points hellip

Si |Δx| lt | Δy| on interchange le rocircle de x et y

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 39: Cours Infographie t i 2010

15122010

39

Sami Gazzah 2009 229

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (1)

Sami Gazzah 2009 230

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (2)

Sami Gazzah 2009 231

I Segments 2D cercles3 Geacuteneacuteration de cercles

Rappels (3)

Sami Gazzah 2009 232

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Toujours baseacute sur le choix entre deux

points discrets deacutependant de leur

distance respective avec le point reacuteel

On travaille dans le 2e octant agrave partir

de (0r) ainsi pour un point (xi yi) le

prochain point sera

(xi+1 yi) ou (xi+1 yi-1)

Sami Gazzah 2009 233

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On calcule le prochain y et les diffeacuterences respectives avec les points

discrets de la faccedilon suivante

Le signe de pi nous dira si nous devons choisir le point lateacuteral ou le diagonal

Sami Gazzah 2009 234

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Encore une fois pour eacuteviter de calculer cette diffeacuterence pour chaque point on

cherche une faccedilon de calculer les diffeacuterences subseacutequentes par increacutementation

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 40: Cours Infographie t i 2010

15122010

40

Sami Gazzah 2009 235

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

On considegravere 2 cas

Valeur initiale

Sami Gazzah 2009 236

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Sami Gazzah 2009 237

I Segments 2D cercles3 Geacuteneacuteration de cercles

Algorithme de Bresenham

Exemple centre = (00) et r = 3

Sami Gazzah 2009 238

Livres

Diane Lingrand Introduction au Traitement d‟Images Paris Editions Vuibert 2e

eacutedition 2008

Steven k Feiner James D Foley John F Hughes Richard l Phillips Andries

Vanam Introduction agrave l‟infographie Paris Editions Vuibert 2000

William K Pratt Digital Image Processing Willy-Inter-sciences 4th edition 2007

Eacuteric Incerti Compression dimage ndash Algorithmes et standards Vuibert 2003

Gilles Burel Introduction au traitement dimages ndash Simulation sous Matlab

Hermegraves 2001

Sites web

Cours de C Rougier (U Montreacuteal)

httpwww-etudiroumontrealca~rougiercift2730courshtml (cf chapitre 3)

Page wikipeacutedia sur JPEG (en anglais plus complegravete que celle en franccedilais)

httpenwikipediaorgwikiJPEG

Cours de P Courtellemont (Campus numeacuterique Espdon)

httppersouniv-lrfrpcourtelespadonsite_web

Applet de deacutemo par C G Jennings

httpcgjenningscatoyboxhjpegindexhtml

Cours de D Marshall (U Cardiff)

httpwwwcscfacukDaveMultimediaPDF

Reacutefeacuterences

Sami Gazzah 2009 239

Chapitre 9

introduction au

traitement

dimages avec OpenGL

Sami Gazzah 2009 240

OpenGL est une librairie graphique Elle a eacuteteacute creacutee par Silicon

Graphics et beacuteneacuteficie sur ces machines de lacceacuteleacuteration mateacuterielle

Elle est constitueacute d‟environ 200 fonctions graphiques

OpenGL est une bibliothegraveque de fonctions

Les fonctions sont de bas niveaux

La version actuelle est l‟ laquo OpenGL 41 raquo (deacutecembre 2010)

Principale caracteacuteristique indeacutependant du mateacuteriel et du systegraveme

d‟exploitation

Une impleacutementation libre de droits dOpenGL tregraves performante a eacuteteacute

eacutecrite par Brian Paul httpwwwmesa3dorg Et tout son code source

est accessible

Preacutesentation geacuteneacuterale

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 41: Cours Infographie t i 2010

15122010

41

Sami Gazzah 2009 241

OpenGL propose des fonctions de bas niveaux

Primitives geacuteomeacutetriques points segments polygones

Les fonctions de haut niveaux sont deacuteveloppeacutees par l‟utilisateur ou

importeacutees par la librairie en amont d‟OpenGL

Primitives geacuteomeacutetriques complexes Sphegravere splines etc

Toutes les commandes et fonctions utilisent le preacutefixe gl

Exemple glColor2f()

Sami Gazzah 2009 242

Les Bibliothegraveques co-existant avec OpenGL

GLU OpenGL Utility Library contient les routines de bas niveau pour

geacuterer les matrices de transformation et de projection la facettisation des

polygones et le rendu de surface Les bibliothegraveques dextension du

systegraveme de fenecirctres permettent lutilisation du rendu OpenGL Il sagit de

GLX pour X Windows (fonctions ayant pour preacutefixe glX) et de WGL

pour Microsoft Windows (fonctions ayant pour preacutefixe wgl)

GLUT OpenGL Utility Toolkit est une boite agrave outils indeacutependante du

systegraveme de fenecirctrage eacutecrite par Mark

Kilgard pour simplifier la tacircche dutiliser des systegravemes diffeacuterents (fonctions

ayant pour preacutefixe glut)

Sami Gazzah 2009 243

Les primitives geacuteomeacutetriques d rsquoOpenGL

Les primitives sont deacutecrites par un bloc d‟instructions deacutelimiteacute par glBegin et glEnd

Ce bloc contient geacuteneacuteralement une liste de vertex Exemple

glBegin(GL_LINE_LOOP)

glVertex2f(-05 -05)

glVertex2f(05 -05)

glVertex2f(05 05)

glVertex2f(-05 05)

glEnd()

D‟autres attributs peuvent ecirctre speacutecifieacutes en chaque sommet

couleur normale coordonneacutee de texture etcSami Gazzah 2009 244

OpenGL est une machine agrave eacutetats

En modifiant les variables d‟eacutetats on peut changer le style de rendu

Sami Gazzah 2009 245

Exemple Honda Hippo (3dRendercom)

Placage de textures

bullL‟apparence et le toucher ( feel ) d‟une surface

bullUne image utiliseacutee pour deacutefinir les caracteacuteristiques d‟une surface

bullUne image multi-dimensionnelle qui est plaqueacutee sur un espace multi-

dimensionnel

Sami Gazzah 2009 246

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 42: Cours Infographie t i 2010

15122010

42

Sami Gazzah 2009 247

Reacutefeacuterences openGL

Sami Gazzah 2009 248

Chapitre 10

introduction au

traitement

dimages avec OpenCV

Sami Gazzah 2009 249

Preacutesentation geacuteneacuterale

Quest-ce

Open Source Computer Vision Library

Bibliothegraveque open source de traitement des images numeacuteriques

Projet initieacute par Intel (en 1999)

Teacuteleacutechargeable sur httpsourceforgenetprojectsopencvlibrary

Fortement orienteacutee temps reacuteel

eacutecrite en C et C++

optimiseacutee pour les processeurs multi-cœurs

Multi-plateformes disponible pour Linux Windows et Mac OS X

Que contient-elle

Des fonctionnaliteacutes (structures et routines gt350 algos) de base et

avanceacutees pour bacirctir rapidement des applications autour de la vision par

ordinateur

Exemples dutilisation traitements de bas niveau (filtrage ) deacutetection

de visages reconnaissance et suivi dobjets en mouvement Sami Gazzah 2009 250

Fonctionnaliteacutes

Lectureeacutecriture dimages statiques et de seacutequences videacuteo

APIs de bas et moyen niveaux

Traitement des images binaires

Manipulations dimage (eacutechantillonnage (sampling) reacutegion dinteacuterecirct (ROI)

redimensionnement (resizing) rotation deacuteformation (warping) )

Deacutetection de contours de lignes de coins (edge detection)

Traitements multi-eacutechelles (multiscale processing)

Transformeacutees (Fourier cosinus discregravete )

Modules de haut niveau

Deacutetection reconnaissance et suivi (tracking) de visages

Flot optique (estimation du mouvement) (optical flow)

Calibrage (calibration) de la cameacutera

Mise en correspondance steacutereacuteoscopique (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 dimages (ex struct image point isin cxtypesh)

Structures dynamiques (listes files graphes arbres) et persistantes (LE)

Manipulations de matrices meacutethodes de lalgegravebre lineacuteaire et statistiques

Dessin en surimpression (overlay) (ex eacutetiquetage)

Cv

Traitement dimage calibrage cameacutera

Geacuteomeacutetrie algorithmique (triangulation )

Cvaux

Reconnaissance de visage

Code expeacuterimental et obsolegravete

Autres (dans otherlibs)

HighGUI ES videacuteos curseurs fenecirctrage

ML classification regroupement (clustering)Sami Gazzah 2009 252

OpenCV premiers programmesBibliothegraveque OpenCV

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV

Page 43: Cours Infographie t i 2010

15122010

43

Sami Gazzah 2009 253

Livre

G Bradski amp A Kaehler laquo Learning OpenCV raquo OReilly Press (2008)

codes sources httpexamplesoreillycom9780596516130

Ressources en ligne

Reacutefeacuterence complegravete httpopencvwillowgaragecomdocumentation

Wiki httpopencvwillowgaragecomwikiFullOpenCVWiki

bullPreacutesentation teacuteleacutechargement installation

bullavec CodeBlocks httpopencvwillowgaragecomwikiCodeBlocks

bullDeacutebuter avec OpenCV FAQ

Tutoriels

httpnchcdlsourceforgenetsourceforgeopencvlibraryippocvpdf

httpdaslmemdrexeledu~noahKuntzopenCVTut1html agrave Tut11html

httpwwwcognoticscomopencvservo_2007_series

Tutoriel sur la vision utilisant OpenCV (en franccedilais)

httpwwwsiteduzerocomtutoriel-3-8631-vision-par-ordinateurhtml

Reacutefeacuterences openCV