Sunteți pe pagina 1din 29

3/12/2016

OPERATII DE PRELUCRARE
A IMAGINILOR

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Prelucrare = Black Box

Image In, Image Out


Analiza imaginilor este
Image In, Description Out
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3/12/2016

Tipuri de operatii de prelucrare


Clasificare dupa numarul de pixeli din imaginea
initiala folositi ppentru calculul valorii unui ppixel
din imaginea prelucrata.
operatii punctuale
operatii de vecinatate
operatii integrale
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Operatii punctuale
coloana
c

coloana
c

linia
li
i
l

linia
l

imagine prelucrata g

imagine initiala f

g ( l ,c ) = T ( f ( l ,c ))

Noua valoare a oricarui pixel din imaginea prelucrata rezulta din


transformarea valorii pixelului din imaginea initiala, situat in
pozitia curenta de prelucrat.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3/12/2016

Operatori de vecinatate
coloana
c
linia
li
i
l

coloana
c

linia
l

V
imagine initiala f

((

imagine prelucrata g

g ( l ,c ) = T f V( l ,c )

))

Noua valoare a oricarui pixel din imaginea prelucrata rezulta din


combinarea unui numar oarecare de valori ale pixelilor din imaginea
initiala, situati in vecinatatea pixelului curent prelucrat.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Operatii integrale
coloana
c

T
linia
l

imagine prelucrata g

imagine initiala f

Noua valoare a oricarui pixel din imaginea prelucrata rezulta din


combinarea valorilor tuturor ale pixelilor din imaginea initiala.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3/12/2016

IMBUNATATIREA
IMAGINILOR

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Sunt cele mai simple si spectaculoase prelucrari se pot obtine efecte puternice de modificare a aparentei
imaginilor prin operatii simple.
Scopul imbunatatirii este realizarea unei vizibilitati
mai bune a imaginii in ansamblul ei sau a anumitor
componente ale acesteia.
Efectele nu pot fi masurate in mod obiectiv nu putem introduce formule care sa defineasca
o imagine de calitate. Calitatea este specifica aplicatiei
si utilizatorului.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3/12/2016

Imbunatatirea imaginilor este echivalentul


reglajului de tonalitate a muzicii ascultate.
Zamperoni

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Imbunatatirea este un proces interactiv


evaluare calitate subiectiva

modificare parametri de control

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3/12/2016

Operatii punctuale
coloana
c

coloana
c

linia
li
i
l

linia
l

imagine prelucrata g

imagine initiala f

g ( l ,c ) = T ( f ( l ,c ))

Noua valoare a oricarui pixel din imaginea prelucrata rezulta din


transformarea valorii pixelului din imaginea initiala, situat in
pozitia curenta de prelucrat.
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Definirea operatiei de imbunatatire = definire transformare T

Conditii de baza:
Transformarea T trebuie sa pastreze gama de nivele
d grii din
de
di imagine.
i
i
T : [0, L-1] [0, L-1]
Transformarea T trebuie sa nu modifice ordinea
gri.
relativa a nivelelor de g
T functie monotona
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3/12/2016

Definirea operatiei de imbunatatire = definire transformare T

T : [0, L-1] [0, L-1]

v
L1
L-1

v = T (u)
nivel de gri initial
nivel de gri
dupa
p transformare
0

u
0

definire analitica

L-1
definire prin grafic

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

1. Negativarea imaginii

v
L-1

v = T (u) = L-1 - u
T (x)=L-1 - x
de obicei L=256
0

u
0

L-1

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3/12/2016

1. Negativarea imaginii

2. Extragerea planelor de bit

v
L-1

v = T (u) = (L-1)bitk(u)
T (x)= (L-1)bitk(x)
u = bB bB-1 ... b2 b1
B

u = 2 k 1 b k

k =1

de obicei L=256 si deci B=8

u
128
0
L-1
extragerea bitului 8

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3/12/2016

2. Extragerea planelor de bit

v
L-1

L=256

u
0 63 127 191 L-1
extragerea bitului 7

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3. Modificarea contrastului, liniara pe portiuni


2 puncte de control:
(a, Ta) si (b, Tb)

L-1
Tb

puncte fixe:
2p
(0,0) si (L-1, L-1)

T ((x) =

Ta
x, x [0, a ]
a

Ta
0

Ta +

Tb Ta
( x a ), x [a, b]
ba

Tb +

L 1 Tb
( x b), x [b, L 1]
L 1 b

L-1

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3/12/2016

3. Modificarea contrastului, liniara pe portiuni


Cresterea vizibilitatii gamei centrale de nivele de gri
scaderea vizibilitatii pe intervalele extreme de gri

L1
L-1
Tb

a = 140,
140 Ta = 70
b = 200,Tb = 230

Ta
0

L-1

L-1

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3. Modificarea contrastului, liniara pe portiuni


Scaderea vizibilitatii gamei centrale de nivele de gri
cresterea vizibilitatii pe intervalele extreme de gri

L-11
L

a = 20,
20 Ta = 70
b = 220,Tb = 160

Tb
Ta
0

0 a

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

10

3/12/2016

Modificarea contrastului

Studiul diferentei dintre valorile unei perechi de nivele


de gri, inainte si dupa transformare.
Modificarea contrastului este data de: C =

v T (u 2 ) T (u1 )
=
u
u2 u1

La limita, in jurul unui nivel de gri oarecare u, avem

C =
C > 1

contrastul se mareste

C < 1

contrastul se micsoreaza

dT (u )
= T ' (u )
du

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Modificarea contrastului

L-1

L-1
Tb

Tb
Ta
Ta
0

0
0

L-1

L-1

0 a

L-1

L-1

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

11

3/12/2016

3. Modificarea contrastului, liniara pe portiuni


Cazuri particulare
A. Intinderea maxima a contrastului

Ta = 0

Tb=L-1
L1

Tb = L 1

se foloseste intreaga gama de nivele


de gri disponibile
se obtine constrastarea maxim posibila
Ta=00

L-1

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

a si b se determina astfel ca cel mult P% din valorile nivelelor de


gri sa fie saturate la negru si alb
aceasta inseamna ca avem cam P% / 2 ppixeli cu valori mai mici ca
a si P%/2 pixeli cu valori mai mari ca b.
aceasta inseamna ca
H(a) = P/2
1-H(b) = P/2
P poate fi ales in jur de 5%.

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

12

3/12/2016

original

rezultat, P=5%

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

3. Modificarea contrastului, liniara pe portiuni


Cazuri particulare
B. Binarizarea

Ta = 0

Tb = L 1

a=b

Tb=L-1
L1

este mai generala decat extragerea


bitului cel mai semnificativ

Ta=00

a=b

L-1

a=b=200
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

13

3/12/2016

4. Modificarea neliniara a contrastului


A. Functia putere

u
v = T (u ) = ( L 1)

L 11

v
L-1
r<1

r>0 parametru de reglaj

r =1
r>1

aceasta este corectia de gamma


0

L-1

r=0.5
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

4. Modificarea neliniara a contrastului


B. Functia putere cu punct fix

v
L-1

r>1

r =1
a

r< 1

u
0
a
a , u [0, a]
0
a

v = T (u
( )=
r
L 1 ( L 1 a) L 1 u , u [a, L 1]

L 1 a
r

L-1

r>0 parametru de reglaj


C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

14

3/12/2016

4. Modificarea neliniara a contrastului


C. Functia logaritmica (compandare) v
L-1

v = T (u ) =

L 1
log(u + 1)
log L

L-1

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

4. Modificarea neliniara a contrastului


D. Functia exponentiala (expandare) v
L-1

eu 1
v = T (u ) = ( L 1) L 1
e 1
este inversa transformarii logaritmice
0

L-1

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

15

3/12/2016

5. Alte transformari
B. Decupare (slicing)

A. Lipire (clipping)
v
L-1

v
L-1

L1
L-1

L-1

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Exista o multitudine de astfel de transformari care pot modifica


aspectul imaginii (si implicit contrastul acesteia).
Stabilirea parametrilor de definitie este insa o problema.
O tehnica automata de imbunatatire trebuie sa detecteze care este
defectul imaginii (in ce fel imaginea nu are vizibiliate buna) si
sa gaseasca transformarea optima de modificare a valorilor nivelelor
de gri.
Definirea prelucrarii automate implica :
caracterizarea continutului imaginii
determinarea transformarii nivelelor de gri

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

16

3/12/2016

Pseudocolorarea

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Modificarea tabelei de culoare originale a imaginii, pentru a


pune in evidenta, prin culori diferite de cele originale, a
unor detalii/ caracteristici/ obiecte ...
Ex. 1: Nivelele de gri cuprinse in gama [180,200] sunt afisate
numaii prin
i componenta
t de
d rosu corespunzatoare.
t
Ex. 2:

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

17

3/12/2016

Pseudocolorarea

k
k

Rk, Gk, Bk

imagine
tabel de culoare
((modificat))
modificarea intrarilor
din tabelul de culoare

afisare

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Principiu: ochiul uman distinge mult mai bine culorile decat


nuantele de gri (se pot vedea in jur de 200 nivele de gri diferite,
dar sunt discernabile cateva mii de culori).
Desi prin natura sa este un detaliu al tehnicilor de afisare,
pseudocolorarea a fost adesea glorificata prin termeni ca prelucrare
prin pseudocolorare sau analiza prin pseudocolorare.
Pseudocolorarea ramne un accesoriu favorit al vnzatorilor, care
o utilizeaza adesea n demonstratiile produselor [software],
deoarece poate strni interesul n ochii clientilor mult mai repede
dect orice alta metoda de afisare cunoscuta. Cercetarile mele au
adus
d lla lumina
l i o lista
li t dureros
d
de
d scurta
t a aplicatiilor
li tiil demonstabil
d
t bil
productive a pseudocolorarii
K. R. Castleman
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

18

3/12/2016

Implementarea operatiilor punctuale

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Implementare directa
unsigned char T(unsigned char in);
unsigned char ** img,img_out;
unsigned
i
i j
i,j;
for (i=0;i<M;i++)
for (j=0;j<N;j++)
img_out[i][j]=T(img [i][j]);

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

19

3/12/2016

Implementare cu tabela de valori (LUT)


unsigned char T(unsigned char in);
unsigned char ** img,img_out;
unsigned
i
char LUT[256];
[
]
unsigned i,j;
for (i=0;i<256;i++)
LUT[i]=T(i);
for (i=0;i<M;i++)
for (j=0;j<N;j++)
img_out[i][j]=LUT[img [i][j]];

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Cum a fost alocata memoria pentru stocarea imaginilor ?


unsigned char ** img;
unsigned i;
img=(unsigned
g
g
char **)malloc(M*sizeof(unsigned
g
char *));
for (i=0;i<M;i++)
img[i]=(unsigned char *)malloc(N*sizeof(unsigned char));

img

...

img[0]
img[1]

...

...
img[M-1]

...
...

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

20

3/12/2016

Egalizarea de histograma

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Exista o multitudine de astfel de transformari care pot modifica


aspectul imaginii (si implicit contrastul acesteia).
Stabilirea parametrilor de definitie este insa o problema.
O tehnica automata de imbunatatire trebuie sa detecteze care este
defectul imaginii (in ce fel imaginea nu are vizibiliate buna) si
sa gaseasca transformarea optima de modificare a valorilor nivelelor
de gri.
Definirea prelucrarii automate implica :
caracterizarea continutului imaginii
determinarea transformarii nivelelor de gri

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

21

3/12/2016

Histograma
Histograma = functie ce asociaza fiecarui nivel de gri posibil
probabilitatea [sa] de aparitie in imagine.
h( ) = numar pixeli
h(u)
i li de
d nivel
i l de
d grii u
/ numar total
t t l pixeli
i li

1
h( u ) =
MN

M 1N 1

( f ( m ,n ) u ), u = 0 ,1,..., L 1

m =0 n = 0

Histograma este o functie de densitate de probabilitate.


L 1

h( u ) = 1

u =0

Histograma descrie continutul de culoare/ de gri al imaginii.


C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Histograma

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

22

3/12/2016

Histograma
Se poate face distinctia intre imagini intunecate / luminoase.
Se pot face presupuneri asupra numarului de tipuri de componente
din imagine.
Histograma nu reflecta distributia spatiala a valorilor.

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Histograma cumulativa
Histograma este o functie de densitate de probabilitate.
Histograma cumulativa este functia de repartitie asociata.
u

H (u ) = h(i )

H (0) = h(0)

H ((L
L 1) = 1

i =0

Pentru o valoare data, histograma cumulativa masoara probabilitatea


ca in imagine sa existe nivele de gri de valoare inferioara.

H (u ) = H (u 1) + h(u )

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

23

3/12/2016

Imaginea ideala:
este folosit tot intervalul de nivele de gri
toate nivelele de gri sunt egal probabile

Egalizarea
histogramei

Imaginea dorita va avea deci o histograma uniforma.


hegalizat

hinitial

nivel de gri

nivel de gri

Care este transformarea ?


C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Reamintire 1 : functii de o variabila aleatoare

Egalizarea
histogramei

= f ( )
f este bijectiva
Relatie intre functiile de densitate de probabilitate :

w ( y ) = w ( x )

1
f'( x )

y = f 1 ( x )

La TTI : se stie densitatea de probabilitate initiala si transformarea


La PI : se stiu densitatile de probabilitate.

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

24

3/12/2016

Egalizarea
histogramei

Reamintire 2 : functia de repartitie transforma


orice variabila aleatoare intr-o variabila aleatoare uniforma
x

F ( x ) = w ( t )dt = Prob ( i ) x

Daca histograma este functie de densitate de probabilitate, functia


de repartitie asociata va fi histograma cumulativa.
H
u
H ( u ) = h( i ), u = 0 ,1,..., L 1 1
i=0

0
nivel de gri
C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Egalizarea
histogramei
Functia de modificare a nivelului de gri este histograma cumulativa
(functia de repartitie a nivelelor de gri).

v = T ( u ) = [( L 1 )H ( u ) + 0 ,5]

H( u ) H( 0 )
v = T ( u ) = ( L 1 )
+ 0 ,5
1 H(0 )

sau alte
lt variante
i t asemanatoare
t

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

25

3/12/2016

Egalizarea
histogramei

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Egalizarea
histogramei

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

26

3/12/2016

Egalizarea
histogramei

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Imagine originala, Egalizare de histograma pe canalele RGB,


Egalizare de histograma pe canalul V din HSV

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

27

3/12/2016

imagine initiala

Egalizarea
histogramei

h(i)

imagine egalizata

nivel
de gri
C. VERTAN

LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Aspect in pieptene al histogramei egalizate.


initial :
216 nivele gri diferite

Egalizarea
histogramei

h(i)

dupa egalizare:
176 nivele gri diferite

Numarul de nivele de gri diferite se micsoreaza.

nivel
de gri

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

28

3/12/2016

Extindere : specificarea histogramei - obtinerea unei imagini


a carei histograma are o forma impusa.
varianta : se foloseste ordonarea totala
varianta
i t : se face
f
o transformare
t
f
de
d egalizare
li
sii o functie
f ti
inversa de egalizare.

T2-1(T1)
T2

T1
C. VERTAN

LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

Reflectati la urmatoarele intrebari:

egalizarea de histograma este o operatie de prelucrare punctuala ?


care este o aplicatie practica in care pseudocolorarea ar putea
functiona cu succes ?

C. VERTAN
LABORATORUL DE ANALIZA I PRELUCRAREA IMAGINILOR

29