Documente Academic
Documente Profesional
Documente Cultură
3 Preprocesarea imaginilor
3.1 Transformări ale nivelurilor de gri
3.2 Transformări geometrice
3.3 Preprocesarea locală
3.4 Reconstituirea imaginilor
3.5 Preprocesarea imaginilor color
3.6 Transformări morfologice
1
Cap. 3. Preprocesarea imaginilor
Preprocesare:
- imbunatatirea imaginii
- evidentierea trasaturilor primare: muchii si colturi
- analiza morfologică a imaginilor
qk q0
(a) q q0 ( pk p ) : negativă
q (c) pk p0
qk
p p0 p p1
q2
(b) q q1 ( p p1) p1 p p2 : contrast
(b) q ( p p ) p p p
2 2 2 k (p1, p2)
q1
(a)
q0
p0 pp p1 p2 pk p
Modificarea histogramei
Egalizarea histogramei
H(p) Imaginea iniţială: M N ; k niveluri de gri: p1, p2 ,, pk
k
Pe fiecare nivel: ni pixeli ni MN
i 1
l
Imaginea finală: l niveluri de gri cu mi pixeli/nivel mi MN ; (l k )
i 1
k1 1
, pk q1 i1 ni m1 i1 ni
k1
He(q)
pk p p1 , p2 , 1
k2 1
ni m1 m2 i1 ni
k2
indexul k2
i 1
Exemplul 3.1
Se consideră imaginea din figură cu 8 niveluri de gri. Se cere:
a) să se reprezinte histograma nivelurilor de gri;
b) să se egalizeze histograma astfel încât să se obtină o imagine cu 4
niveluri de gri și m1=15, m2=m3=16, m4=17; să se deducă indicii ki,
i=1-4;
3 2 0 1 1 0 2 3
2 0 1 5 5 1 0 2
3 1 6 6 6 6 1 3
1 5 6 7 7 6 5 1
1 5 6 7 7 6 5 1
4 1 6 6 6 6 1 4
2 0 1 5 5 1 0 2
3 2 0 1 1 0 2 3
Cap. 3. Procesarea imaginilor
a) c)
b) d)
Cap. 3. Preprocesarea imaginilor
relaţii polinomiale
m m r m mr
x' ark x y , y' brk x r y k
r k
r 0 k 0 r 0 k 0
Transformare liniară în raport cu ark, brk perechi de puncte corespondente (x, y), (x', y')
m = 2 sau 3, 6 ÷ 10 perechi de puncte
Transformarea x' a0 a1x a2 y a3 xy
: 4 perechi de puncte
biliniară y ' b0 b1x b2 y b3 xy
Transformarea x' a0 a1x a2 y
: 3 perechi de puncte
afină y ' b0 b1x b2 y
: rotaţia, translaţia, scalarea şi înclinarea
Cap. 3. Preprocesarea imaginilor
Transformări:
- înclinarea cu unghiul pe direcţia y
x' x ytg ; J 1
y' y
- scalarea cu a pe x şi b pe y:
x' ax ; J ab
y ' by
Cap. 3. Procesarea imaginilor
- translaţia cu a pe x şi b pe y:
x' x a ; J 1
y' y b
- rotaţia cu unghiul :
y
x' cos( ) cos
cos sin
sin y (x, y)
x y (x, y)
x
y ' sin( )
cos
sin
sin
cos
x y
x' x cos y sin ; J 1 x
y ' x sin y cos Fig. 3.2.2. Rotaţia cu unghiul
Cap. 3. Preprocesarea imaginilor
(d) (e)
Fig. 3.2.3. Tipuri de distorsiuni (captarea imaginii de la distanta)
a)
c)
b)
d)
Cap. 3. Preprocesarea imaginilor
grila imaginii noi interpolarea nivelului de gri vecinul cel mai apropiat (a)
liniară (b)
bicubică (c)
Problema interpolării se exprimă în mod dual
o Se determină nivelul de gri al pixelului din imaginea originală ce corespunde pixelului
din a doua imagine
nu rezultă coordonate întregi: (x, y) – nr. reale; (x, y) –nr. întregi
( x, y ) T 1( x, y)
Imaginea iniţială f(x, y) valori cunoscute: f (lx, ky )
s
Interpolar ea : f n ( x, y ) f s (lx, ky)hn ( x lx, y ky)
l k
1 2 3
hn: nucleul interpolării (vecinătate redusă)
n : (a), (b), (c) ;
Cap. 3. Preprocesarea imaginilor
Exemplul 3.2
Se consideră două grile (Fig. 1) obţinute în urma unei transformări geometrice T. Dacă valorile
nivelurilor de gri ale pixelilor situaţi pe grila discretă a imaginii originale (punctele „●”) sunt cele din
tabelul 1, să se determine nivelurile de gri ale pixelilor p1, p2, p3, p4 ce aparţin grilei deformate
( punctele „o”), prin:
a) metode vecinului cel mai apropiat;
b) interpolare liniară.
1 2 3
i
p1 p2
Tabelul 1 Valorile nivelurilor de gri
2 Pixel (i,j) (1,1) (1,2) (1,3) (2,1) (2,2) (2,3) (3,1) (3,2) (3,3)
p3 p4 Nivel gri 2 5 4 3 4 5 2 1 1
3
j
Figura 1
Cap. 3. Preprocesarea imaginilor
Convoluţie discretă: calculul sumelor produselor dintre funcţia imagine şi elementele corespunzătoare
ale măştii
g (5,3) h(1,1) f (4, 2) h(2,1) f (5, 2) h(3,1) f (6, 2)
h(1, 2) f (4,3) h(2, 2) f (5,3) h(3, 2) f (6,3)
h(1,3) f (4, 4) h(2,3) f (5, 4) h(3,3) f (6, 4)
Cap. 3. Preprocesarea imaginilor
Medierea
Pixel = zgomot = variabilă aleatoare de medie zero şi varianţă
- Se achiziţionează n imagini statice ale aceleiaşi scene
1 1 1
h 1 1 1
1
- 1 imagine mediere într-o vecinătate locală V = 3 3: 9
1 1 1
1 1 1 1 2 1
accentuarea: pixelului central h 1 2 1 si a pixelilor tetraconectati h 2 4 2 (filtrare Gaussiana)
1 1
10 16
1 1 1 1 2 1
Mediere cu validitatea datelor limitată = nivelul de gri într-un interval predefinit [min, max]
1 pentru f (m i, n j ) [min, max]
h(i, j )
0 in rest
Se evită efectul de umbrire
Medierea cu măşti de rotaţie
Evită umbrirea: se calculează nivelul mediu numai pentru partea omogenă din vecinătatea pixelului curent
2
1 1
n pixeli în R 2 f (i, j ) f (i, j sau mai usor computational
n (i, j )R n (i, j )R
f (i, j ) f (i, j )
2
(i, j )R (i, j )R
2 1
f (i, j ) 2 f (i, j )
2
n (i, j )R n n
2
2
f (i, j ) f (i, j )
2 f (i, j )
1 (i, j )R (i, j )R 1 2 (i, j )R
f (i, j ) 2
2
n n f (i, j ) .
n (i, j )R n n n
(i, j )R
Cap. 3. Preprocesarea imaginilor
Măşti de rotaţie
8 măşti 3 3 într-o vecinătate 5 5.
1 2 7 8
• Filtararea gaussiana
- se reduce ponderarea pixelilor odata cu cresterea distantei fata de pixelul central
x2 y 2
1
e 2
2
- pixelul (x,y) va fi ponderat cu: G ( x, y )
22
b) c)
d) e)
Cap. 3. Procesarea imaginilor
b)
a)
c) d)
Cap. 3. Preprocesarea imaginilor
Exemplul 3.3
f f f f
255 alb
x x x x
f f x f y f f
f x cos f y sin f ,f
x x y y
r x r y r
f f
0
r max r
fy
g arctg
fx
f x sin f y cos 0
f f x2 f y2
r max
2 f ( x , y ) 2 f ( x, y )
• Magnitudinea muchiei (fără direcţie) ( x, y ) 2
(Laplacian)
2
x y 2
măşti de convoluţie
Cap. 3. Procesarea imaginilor
(i) Operatorul compas: calculul gradientului in direcţiile θk = π/2+k π/4 → M (i, j ) max M k (i, j )
Operatorul Prewitt
1 1 1 1 1 0 1 0 1 0 1 1
h0 0 0 0 , h1 1 0 1, h2 1 0 1, h3 1 0 1
1 1 1 0 1 1 1 0 1 1 1 0
1 1 1 1 1 0 1 0 1 0 1 1
h4 0 0 0 , h5 1 0 1, h6 1 0 1, h7 1 0 1
1 1 1 0 1 1 1 0 1 1 1 0
Cap. 3. Procesarea imaginilor
1 2 1 2 1 0 1 0 1
• Operatorul Sobel h0 0 0 0 ; h1 1 0 1 ; h2 2 0 2
1 2 1 0 1 2 1 0 1
1 1 1 1 1 1 1 1 1
Operatorul Robinson h0 1 2 1 , h1 1 2 1 ; h2 1 2 1
1 1 1 1 1 1 1 1 1
3 3 3 3 3 3 3 3 5
• Operatorul Kirsch h0 3 0 3 , h1 3 0 5 ; h2 3 0 5
5 5 5 3 5 5 3 3 5
Cap. 3. Procesarea imaginilor
1 1 1 1 0 1
Operatorul Prewitt: hy 0 0 0 , hx 1 0 1
1 1 1 1 0 1
1 2 1 1 0 1
Operatorul Sobel hy 0 0 0 , hx 2 0 2
1 2 1 1 0 1
Magnitudinea şi direţia:
M y (i, j )
M (i, j ) M x (i, j ) M y (i, j ) ; arctg
M x (i, j )
Cap. 3. Procesarea imaginilor
• Operatorul Laplacian
- Se aproximează derivata de ordinul 2
( 2 f ) (i , j ) i f (i 1, j ) i f (i, j ) j f (i, j 1) j f (i, j )
( 2 f ) (i , j ) f (i 1, j ) f (i 1, j ) f (i, j 1) f (i, j 1) 4 f (i, j )
0 1 0 1 1 1
pixeli tetraconectaţi: h 1 4 1 ; pixeli octococectaţi: h 1 8 1 .
0 1 0 1 1 1
(ii) Operatori bazati pe trecerile prin zero ale derivatei de ordinul doi
Operatorul Marr-Hildreth
Trecerile prin zero ale derivatelor de ordinul II
f (x) f (x) f (x)
x x x ;
Muchie 1D (a)
f (x) f (x) f (x)
x x x
Muchie 1D (b)
r2 r2
1
1 r 2 2
G(r ) re 2 2 ; G(r ) 2 2 1e 2
2
Revenind la (x, y) şi la coeficientul multiplicativ de normalizare c:
x2 y 2
x y
2 2
Masca de convoluţie: h( x, y ) c 1e 2 .
2
2
a)
b)
Exemplul 3.4
Se dă fereastra de mai jos de dimensiune 6x6 cu 8 niveluri
de gri și se cere:
a) pentru pixelul de coordonte (2,3) să se determine
parametrii muchiei folosind operatorul compas Prewitt
b) considerând pixelii marcați din linia a 3-a să se
determine muchiile folosind operatorul gradient Prewitt și
un prag = 12
c) folosind operatorul Laplacian 0 1 2 1 0 1
• Operatorul Harris
f f
f (i x, j y ) f (i, j ) xf x (i, j ) yf y (i, j ); f ,f
x x y y
2
E ( x, y ) w(i , j ) f (i , j ) xf x (i, j ) yf y (i, j ) f (i , j )
i , jw
2
w(i , j ) xf x (i, j ) yf y (i, j )
i , jw
Cap. 3. Procesarea imaginilor
Forma matriceală
f ( i , j ) 2 f x (i , j ) f y (i , j )
x
E ( x , y )
T
x y w(i , j )
2
x y
i , jw f x (i , j ) f y (i , j )
f y (i , j )
T
x y A x y
2 2
Det ( A) BD C 2 f x
2
fy fx f y R>0
2 2
Tr ( A) B D f x fy
k 0.04 0.06
2 2
Tr ( A) fx fy
cv
Det ( A) 2 2 2
fx fy fx f y
• Operatorul Smith
Aria USAN:
- muchii
- un minim pt. muchii
- colturi
- un minim local accentuat pt. colturi
Cap. 3. Procesarea imaginilor
• Operatorul Smith
Colt => cea mai mica arie USAN SUSAN
Detectorul SUSAN (Smallest Univalue Segment Assimilating Nucleus)
• Calculul ariei
- se compara nivelul de gri al nucleului cu nivelurile pixelilor din masca:
6
f ( r ) f ( r0 )
r0 => pozitia nucleului (x0,y0)
c(r , r0 ) 100 e t r => pozitia pixelilor din masca (x,y)
t => prag pt. diferenta f(r)-f(r0)
Harris Smith
OPI
OPI => α = 26
Harris => vp = 1000
Smith => t = 29
Cap. 3. Procesarea imaginilor
Exemplul 3.5
0 1 2 1 0 1
1 0 3 3 1 0
1 4 4 4 6 0
1 5 5 5 5 0
2 1 7 6 1 2
1 2 1 1 2 1
Cap. 3. Procesarea imaginilor
(x,y)
• (x,y)
Detecția muchiilor
f ( x, y) f R ( x, y) fG ( x, y) f B ( x, y)
T
R G B
2 2 2
g xx m m mT m
x x x
2 2 2
R G B
g yy n n nT n
y y y
R R G G B B
g xy m n mT n
x y x y x y
g xx g yy g xx g yy cod 2 2 g xy sin 2
1
M ( )
2
Cap. 3. Procesarea imaginilor
AB x | Bx A
unde:
o A este mulțimea imagine (pixelii obiectului)
o B este mulțimea elementului structurant,
o x reprezintă un punct/vector oarecare iar Bx reprezintă mulțimea elementului
1 1 1 1 1 1 1
1 1 1 1 Elementul
1 1 1
Imaginea 1 1 1
1 1 1 1 structurant B
inițială A
1 1 1 1 1 1 1 1
1 1 1 1
1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
Imaginea 1 1 Imaginea 1 1 1 1 1 1 1
erodată AΘB dilatată A⊕B 1 1 1 1 1 1 1
1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1
Cap. 3. Procesarea imaginilor
A B ( AB) B
unde:
o A este mulțimea imagine (pixelii obiectului)
o B este mulțimea elementului structurant,
A B ( A B)B
unde:
o A este mulțimea imagine (pixelii obiectului)
o B este mulțimea elementului structurant,
1 1 1 1 1 1 1
1 1 1 1 Elementul
1 1 1
Imaginea 1 1 1 1 1 1 1
inițială A structurant B
1 1 1 1 1 1 1 1
1 1 1 1
1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
Imaginea Imaginea 1 1 1 1 1
1 1 1 1
deschisă A○B închisă A●B 1 1 1 1 1
1 1 1 1
1 1 1 1 1 1 1 1 1
AΘB A⊕B
1 1