Vous êtes sur la page 1sur 25

UE Traitement dImages

Cours 2 : traitements bas niveau dimages


Alain Dieterlen

Groupe LAB.EL, Laboratoire MIPS Universit de Haute Alsace, Mulhouse, France

Traitement dimage et vision


Contenu du cours
Formats dimages Prtraitements Filtrage

Restauration Dtection de rgions, segmentation

Plan: Traitement dimages numriques

1.

Traitements bas niveau dimages


Transformations globale Transformations locales Transformations point point (ponctuelles)

1. Introduction
Traitement dimages
Image 1 (m,n) -> Image 2 (m,n) Nouvelle image fonction de linformation dans la premire Mme taille dimage Meilleurs proprits Trois types de transformations :

1.Quelques exemples

Comment quantifier la diffrence ?


la brillance dune image le contraste dune image

1.Quelques exemples

Image originale

Bruit poivre et sel

Speckle

Comment identifier le type de dgradation ? Identifier le type de bruit

Bruit Gaussien additif

Bruit multiplicatif

Flou et bruit Gaussien 6

1. Opration Ponctuelle : Histogramme


Modification
De la moyenne (brillance ou luminosit)

Du contraste (plusieurs dfinitions) Ecart type des variations de NG

Variation entre les NG max et min :

Mesure relative des diffrents NG dans limage : C=(NG1-NG2)/NG2

Meilleure lisibilit de limage


7

1. Histogramme: Analyse et transformation


Dfinition:
une distribution des NG de limage
N

h( k ) =
Pourquoi

i =1 j =1

( I (i, j ) == k )

pas de bijection entre image et histogramme Aide la segmentation / cration dun gabarit / outil statistique Gnralement les images sont de nature trs diffrentes les unes des autres, et les histogrammes ne possdent pas de proprit a priori
8

1. Histogramme: Analyse et transformation


Rehaussement de lhistogramme H
Lallure de H peut traduire des images trop sombres, trop claires ou encore mal contrastes.

On peut agir sur la forme de lhistogramme :


Transformation/modification (linaire / par morceaux) Egalisation
9

1. Histogramme: Exemples de transformations


Modification de chaque pixel en lui appliquant une transformation

10

1. Histogramme: Etirement (talement, expansion dynamique)


Transformation/modification dhistogrammes
lintervalle [a,b] de rpartition des niveaux de gris de limage dentre Ie est [80,171]

lintervalle [a,b] de rpartition des niveaux de gris de limage de sortie Is est [0,255]
11

1. Histogramme: transformations linaire

TL

TLS

TLM

12

1. Histogramme: Egalisation
Egalisation dhistogramme

Lobjectif est de rendre lhistogramme constant aprs transformation

Impossible sur des images relles


13

1. Histogramme: Egalisation
Effet de discrtisation
Le nombre de niveau reste identique

Techniques (Ie

Is)

Utilisation de lhistogramme cumul CIe CIe(Max) = N nb de pixels dans Ie La fonction f qui ralise lgalisation Is = f(Ie) f(g) = Max . CIe (g)/N valeur entire arrondie Histogramme h[i ], i [0,255] h[i ] hn [i ] = Histogramme normalis
DIMX DIMY
i

Histogramme cumulatif Image Egalise

C [i ] = hn [ j ]
j =0

f ' ( x, y ) = C [ f ( x, y )] PIXMAX C [ f ( x, y )] [0,1]


14

1. Histogramme: Egalisation - Algorithme


/* Initialisation de l'histogramme */ for (i=0; i<256; i++) H[i] = 0 ; /* Calcul de l'histogramme */ for (i=0; i<M; i++) for (j=0; j<N; j++) H[Im[i][j]] ++ /* Calcul de l'histogramme proportionn */ for (i=0; i<256; i++) Hr[i] = H[i] / (M*N) ; Somme = 0 ; /* Calcul de l'histogramme cumule */ for (k=0; k<255; k++) { Somme += Hr[k] ; HC[k] = Somme ; } /* Egalisation */ for (i=0; i<M; i++) for (j=0; j<N; j++) { Niveau_Initial = Im[i][j] ; ImEq[i][j] = 255 * HC[NiveauInitial] ; }
15

1. Histogramme: Egalisation

GL %

GL

min

max

GL

* C[i ]

0 min max

255

16

1. Histogramme: Exemple
Image A en niveaux de gris Matrice des valeurs de luminance des pixels de limage A 2 2 2 3 2 2 2 2 2 0 0 0 0 0 0 2 2 0 1 1 1 1 0 2 2 0 1 0 1 0 0 2 2 0 1 0 1 0 0 2 2 0 1 1 1 1 0 2 2 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 Histogramme de limage A

L'image A comporte 3 niveaux de gris diffrents : 0, 1 et 2. Compter le nombre de pixels pour chaque niveau de gris, laide de la matrice des valeurs de luminance. Les niveaux 0, 1 et 2 sont respectivement reprsents par 24, 12 et 28 pixels reprsentation de cette population de pixels sur l'histogramme.

17

1. Histogramme cumul: Exemple


Image A Valeurs de luminance de A 2 2 2 3 2 2 2 2 2 0 0 0 0 0 0 2 2 0 1 1 1 1 0 2 2 0 1 0 1 0 0 2 2 0 1 0 1 0 0 2 2 0 1 1 1 1 0 2 2 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 Histogramme cumul de A

Calcul d'un histogramme particulier faisant appel aux cumuls des niveaux de gris Histogramme cumul. Chaque bton cumule le nombre de pixels du niveaux de gris concern et des niveaux de gris infrieurs : les niveaux 0, 1, 2 sont donc reprsents respectivement par 24, 36 et 64 pixels. Utile pour certains traitements d'image tels que lgalisation d'histogramme ( amlioration de contraste).

18

1. Histogramme : Illustrations

Image originale

talement d'histogramme

galisation d'histogramme

19

1. Rehaussement base dhistogrammes


Traitements locaux Dans certains cas, il est prfrable de transformer lhistogramme en procdant par zones locales. On prfre un recouvrement de zones afin dviter des effets blocs

20

2. Identification du bruit
Applications sur Image J

21

2. Suppression du bruit: sommation dimages et moyenne

+2
(a) (b) (c)

+8

+16
(d) (e)

+32

+128
(f )

N le nombre dimages

22

2. Suppression du bruit: sommation dimages et moyenne


g (x, y) = f (x, y) + (x, y) (0, ) 1 g (x, y) = n
n

gi(x, y)

i=1

1 n E g (x, y) = 1 E {g i ( x , y ) } n i= E {g i ( x , y ) } = f ( x , y )

{ { {

} } }

1 E g (x, y) = n i(x, y) = 0 1 E g (x, y) = n

{f i ( x ,

y ) + i ( x , y )}

i=1

i=1

nf ( x , y ) E {f i ( x , y )} = = f (x, y) n

23

2. Dtection des changements : soustraction d images

Le jeu des 7 erreurs !

(b) 1975.

(a) 1972.

images Landsat MSS du complexe minier cuprifre de "Twin Buttes" (au sud de Tucson en Arizona)

24

Rsum

Oprations pontuelles
Traitements sur lhistogramme Opration algbriques entre images

25