Documente Academic
Documente Profesional
Documente Cultură
A IMAGINILOR
Prelucrare = Black Box
operatii punctuale
operatii de vecinatate
operatii integrale
Operatii punctuale
coloana T coloana
c c
linia linia
l l
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.
Operatori de vecinatate
coloana T coloana
c c
linia linia
l l
V
((
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.
Operatii integrale
T coloana
c
linia
l
imagine prelucrata g
imagine initiala f
Imbunatatirea este
un proces interactiv
modificare
parametri
Operatii punctuale
coloana T coloana
c c
linia linia
l l
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.
Definirea operatiei de imbunatatire = definire transformare T
Conditii de baza:
Transformarea T trebuie sa pastreze gama de nivele
de gri din imagine.
T functie monotona
Definirea operatiei de imbunatatire = definire transformare T
de obicei L=256
u
0
0 L-1
1. Negativarea imaginii
2. Modificarea contrastului, liniara pe portiuni
2 puncte de control:
(a, Ta) si (b, Tb) L-1
Tb
2 puncte fixe:
(0,0) si (L-1, L-1)
Ta
x, x ∈ [0, a ] Ta
⎧ a 0
⎪ Tb − Ta 0 a b L-1
T (x) = ⎨ Ta +
b−a
( x − a ), x ∈ [a, b]
⎪
⎩ Tb +
L − 1 − Tb
( x − b), x ∈ [b, L − 1]
L −1 − b
2. Modificarea contrastului, liniara pe portiuni
a = 140,Ta = 70 L-1
Tb
b = 200,Tb = 230
Ta
0
0 a b L-1
2. Modificarea contrastului, liniara pe portiuni
a = 20,Ta = 70 L-1
b = 220,Tb = 160
Tb
Ta
0
0 a b L-1
Modificarea contrastului
Ta
Ta
0 0
0 a b L-1 0 a b L-1
ΔC ΔC
1 1
u u
0 0
0 L-1 0 L-1
2. Modificarea contrastului, liniara pe portiuni
Cazuri particulare
Ta = 0 Tb=L-1
Tb = L − 1
se foloseste intreaga gama de nivele
de gri disponibile
Ta=0
0 a b L-1
2. Modificarea contrastului, liniara pe portiuni
Cazuri particulare
Ta = 0 Tb=L-1
Tb = L − 1
Ta=0
0 a b L-1
De obicei, pragurile se aleg a.i. 2%-5% din pixelii imaginii sa fie mai
intunecati ca a si 2%-5% din pixelii imaginii sa fie mai luminosi ca b.
C. VERTAN
2. Modificarea contrastului, liniara pe portiuni
Cazuri particulare
B. Binarizarea
Ta = 0
a=b Tb=L-1
Tb = L − 1
este mai generala decat extragerea
bitului cel mai semnificativ
Ta=0
0 a=b L-1
a=b=200
3. Modificarea neliniara a contrastului
A. Functia putere v
r L-1
⎛ u ⎞
v = T (u ) = ( L − 1)⎜ ⎟
r<1
⎝ L −1 ⎠
r>0 parametru de reglaj r =1
r=0.5
3. Modificarea neliniara a contrastului
B. Functia putere cu punct fix v
L-1
r>1
r =1
a • r< 1
⎧ ⎛ u ⎞r 0
u
⎪ a ⎜ ⎟ , u ∈ [ 0, a ] a
⎪ ⎝a⎠ 0 L-1
v = T (u ) = ⎨
⎪ L − 1 − ( L − 1 − a)⎛⎜ L − 1 − u ⎞⎟ , u ∈ [a, L − 1]
r
⎪⎩ ⎝ L −1− a ⎠
r>0 parametru de reglaj
3. Modificarea neliniara a contrastului
C. Functia logaritmica (compandare) v
L-1
L −1
v = T (u ) = log(u + 1)
log L
u
0
0 L-1
3. 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
u
0
0 L-1
4. Alte transformari
A. Lipire (clipping) B. Decupare (slicing)
v v
L-1 L-1
u u
0 0
0 a b L-1 0 a b L-1
v
5. Extragerea planelor de bit
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 0
u
k =1 0 128 L-1
de obicei L=256 si deci B=8 extragerea bitului 8
v
5. Extragerea planelor de bit
L-1
L=256
u
0
0 63 127 191 L-1
extragerea bitului 7
Exista o multitudine de astfel de transformari care pot modifica
aspectul imaginii (si implicit contrastul acesteia).
H (u ) = H (u − 1) + h(u )
Egalizarea
histogramei
Imaginea ideala:
este folosit tot intervalul de nivele de gri
toate nivelele de gri sunt egal probabile
nivel de gri
nivel de gri
{ }
x
Fξ ( x ) = ∫ ξ = ξ ≤x
(i)
w ( t )dt Prob
−∞
0
nivel de gri
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 variante asemanatoare
Egalizarea
histogramei
Egalizarea
histogramei
Egalizarea
histogramei
Egalizarea
imagine initiala
histogramei
h(i)
dupa egalizare:
176 nivele gri diferite
nivel
Numarul de nivele de gri diferite se micsoreaza. de gri
C. VERTAN
Egalizarea
Limitarea esentiala provine din caracterul discret perfecta a
al functiei de schimbare a valorilor nivelelor de gri histogramei
(aceasta este o asociere “unu la unu”).
T2-1(T1)
T2
T1
Pseudocolorarea
Modificarea tabelei de culoare originale a imaginii, pentru a
pune in evidenta, prin culori diferite de cele originale, a
unor detalii/ caracteristici/ obiecte ...
…
k
k Rk, Gk, Bk
imagine
tabel de culoare
(modificat)
modificarea intrarilor
din tabelul de culoare afisare
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).
for (i=0;i<M;i++)
for (j=0;j<N;j++)
img_out[i][j]=T(img [i][j]);
Implementare cu tabela de valori (LUT)
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]];
Reflectati la urmatoarele intrebari:
for (i=0;i<M;i++)
img[i]=(unsigned char *)malloc(N*sizeof(unsigned char));
...
img img[0]
img[1] ...
... ...
img[M-1]
...