Sunteți pe pagina 1din 69

Cap.

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

 transformări ale nivelului de gri


Metode de preprocesare  transformări geometrice
 preprocesări locale
 refacerea imaginii
Cap. 3. Preprocesarea imaginilor

3.1. Transformări ale nivelurilor de gri

 corectarea nivelului de gri (depinde de poziţie)


Metode
 modificarea scalei nivelurilor de gri
Cap. 3. Preprocesarea imaginilor

3.1.1. Corectarea nivelului de gri

Ideal: sensibilitatea dispozitivelor de achizitie nu depinde de pozitia obiectului in imagine

Distorsiuni: lentile, fotodetectorul senzorului, iluminarea  corecţia nivelului de gri

e(x, y): coeficientul multiplicativ al erorii


f ( x, y)  e( x, y) g ( x, y) g(x, y): imaginea originală nedistorsionata
f(x, y): imaginea cu distorsiuni

Determinarea coeficientului multiplicativ al erorii: imagine de referinta cunoscuta

f ( x, y ) g(x, y): imagine de referinta cu acelaşi nivel de gri (c)


e( x, y )  c
c fc(x, y): imagine cu distorsiuni
Cap. 3. Preprocesarea imaginilor

3.1.2. Transformarea scalei nivelului de gri


• Transformari ale nivelului de gri
p  p0 , pk q q0 , qk   q  T ( p)
T

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

Fig. 3.1.1. Transformări ale scalei


nivelului de gri
q0 p0  p  p p
(c) q : alb/negru
qk p0  p  p p
Cap. 3. Preprocesarea imaginilor

Modificarea histogramei

• Histograma = frecvenţa de apariţie a unui anumit nivel de gri p (H(p))


H ( p)  Card
i 1, M
(i, j ) | f (i, j )  p
j 1, N

• Histograma  un maxim în domeniul frecvenţelor joase


 detaliile caracterizate prin niveluri de gri joase
nu sunt perceptibile
H(p)
• Modificarea histogramei (cresterea contrastului):
forme prestabilite:- constantă
- exponenţială p

- hiperbolă Fig. 3.1.2. Histograma unei


imagini continue
Cap. 3. Preprocesarea imaginilor

 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  i1 ni  m1  i1 ni
k1

He(q)
pk p  p1 , p2 , 1
k2 1
ni  m1  m2  i1 ni
k2
 indexul k2  
i 1

 nivelul q2  - o parte din pixeli cu nivelul pk1

- pixeli cu nivelul: pk1 1,, pk2 1

q1 ql q - o parte din pixeli cu nivel pk2


Fig. 3.1.3. Egalizarea histogramei
Procedura continuă pentru toate nivelurile de gri.
Cap. 3. Preprocesarea imaginilor

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

Imagini ale aceleiasi scene cu diferite nivele de iluminare: a,b,c

Imagine prelucrata: contrast marit: d

a) c)

b) d)
Cap. 3. Preprocesarea imaginilor

3.2. Transformări geometrice

– Eliminarea distorsiunilor geometrice ce apar la achizitie


– Compararea imaginilor diferite pentru acelaşi obiect T

Transformarea geometrică  funcţia vectorială T:(x, y)  (x,y)


x'  Tx ( x, y), y'  T y ( x' , y' ) T-1 
Tx, Ty: rotaţii,translaţii, s c a l ă r i , e t c .

Fig. 3.2.1. Transformarea geometrică a unui plan


Transformare geometrica  doi paşi:
– transf. coordonatelor pixelilor din imaginea originală  nr. reale
– găsirea punctului de pe grilă şi calculul nivelului de gri p r i n i n t e r p o l a r e
Cap. 3. Preprocesarea imaginilor

3.2.1. Transformarea coordonatelor unui pixel

 relaţii polinomiale
m m r m mr
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

Transformare aplicata imaginii  schimbarea sistemului de coordonate  Jacobianul J


x' y '
 ( x', y ') x x J  0  nu  inversa transformatei
J  x' y ' :
 ( x, y ) J  1  aria imaginilor invariantă la transformări
y y
 Transformare biliniară: J  a1b2  a2b1  (a1b3  a3b1) x  (a3b2  a2b3 ) y
 Transformarea afină: J  a1b2  a2b1

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

(a) (b) (c)

(d) (e)
Fig. 3.2.3. Tipuri de distorsiuni (captarea imaginii de la distanta)

(a) distorsiunea panoramică (scanare liniare cu viteză const. de rotire a oglinzii)


(b) distorsiunea neliniară (distanţe neegale ale obiectului faţă de oglinda scanerului )

(c) distorsiunea de înclinare (scanare mecanică la prelucrarea imaginilor din satelit)


(d) distorsiunea de scalare (schimbarea distanţei obiectului faţă de senzor)
(e) distorsiunea de perspectivă (proiecţie de perspectivă)
Cap. 3. Procesarea imaginilor

Imaginea initiala: a Imaginea inclinata dupa axa Oy: c

Imagine rotita cu 45 grade: b Transformare geometrica de tip proiectie: d

a)
c)

b)
d)
Cap. 3. Preprocesarea imaginilor

3.2.2. Interpolarea nivelurilor de gri

x  Tx ( x y), y   T y ( x, y)  nu rezultă numere întregi  poziţia nouă nu se suprapune peste

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 (lx, ky )
s
 
Interpolar ea : f n ( x, y )    f s (lx, ky)hn ( x  lx, y  ky)
l  k 
1 2 3
hn: nucleul interpolării (vecinătate redusă)
n : (a), (b), (c) ;
Cap. 3. Preprocesarea imaginilor

 Interpolarea (a) grila II mapată de T-1 în imaginea originală


grila discretă a imaginii originale
(x, y): nivelul de gri al celui mai apropiat vecin
f1 ( x, y )  f s   x  ,  y  

 x   cel mai mic întreg  x (plafon sau partea întreagã în exces)


1D
 Interpolarea (b)
(x, y): nivelul de gri = combinaţie liniară (4 pixeli vecini)
f 2 ( x, y )  (1  a)(1  b) f s (l , k )  a (1  b) f s (l  1, k ) 
b(1  a) f s (l , k  1)  abf s (l  1, k  1)
l   x  , a  x  l ; k   y  , b  y  k 1D
 x   cel mai mare întreg  x (partea întreagã)
 Interpolarea (c)
(x, y): nivelul de gri = aprox. locală cu o suprafaţă bicubică
h3
(8 pixeli vecini) 1D
1 2 x 2  x 3 0  x 1

 2 3 -2 -1 1 2 x
Nucleul 1D; h3  4  8 x  5 x  x 1  x  2
0 in rest “pălărie mexicană”

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

3.3. Preprocesarea locală

Preprocesare locală = filtrarea pe o vecinătate V a unui pixel


- netezire: eliminarea zgomotelor
- operatori gradient: depistarea porţiunilor cu variaţii mari ale funcţiei imagine intr-o directie => muchii
- detectoare de colturi: depistarea porţiunilor cu variaţii mari ale funcţiei imagine in ambele directii (x si y)

Convoluţie discretă cu nucleul h:


g (i, j )    h(m, n) f (m  i, n  j ) (h: mască de convoluţie)
m,nV

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

3.3.1. Netezirea imaginii


Eliminarea zgomotului din imagine  medierea nivelului de gri în V cu pastrarea muchiilor

 Medierea
Pixel   = zgomot = variabilă aleatoare de medie zero şi varianţă 
- Se achiziţionează n imagini statice ale aceleiaşi scene

Rezultatul medierii: f1  ...  f n   1  ...   n variabilă aleatoare cu medie zero şi varianţă  n


n n
1 n
n imagini: g (i, j )   f k (i, j )  fără umbrire
n k 1

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 

sau 5  5, 7  7  umbrirea (estomparea  blur) muchiilor


Cap. 3. Preprocesarea imaginilor

 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

Algoritmi de netezire cu o mască de rotaţie


1o (i, j) pixel al imaginii notat cu X
2o se calculează 2 pentru măştile 18 din jurul pixelului (i, j)
3 o se alege masca cu 2 minim
4 o pixelul (i, j)  nivelul de gri f (i, j) obţinut cu 3o.
Cap. 3. Preprocesarea imaginilor

 Netezirea (filtrarea) mediană


Pixelul curent  valoarea mediană dintr-o vecinătate V
A[i]i=0..n-1 => multime ordonata de n numere reale

A[(n-1)/2] => valoarea mediana a multimii

Dezavantaje: deteriorarea liniilor subţiri şi a colţurilor ascuţite

Forme speciale pentru V:


V
Cap. 3. Preprocesarea imaginilor

• 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 ) 
22

Distributie gaussiana cu media (0,0) si σ = 1 Aproximarea discreta a gaussianului cu σ = 1.4


Cap. 3. Preprocesarea imaginilor

• Filtrarea mediană neliniară

Generalizare: f (i,j): pixelul din imaginea iniţială

  a(i, j )u f (i, j )


 (i , j )V 
g(m,n): rezultatul filtrării g (m, n)  u 1  
  a (i , j ) 
 ( i , j )V 

a(i, j) = coeficient de ponderare  ct. : filtru izomorf


Filtre izomorfe: - media aritmetică u(f) = f
- media armonică u(f) = 1/f
- media geometrică u(f) = log f
Cap. 3. Procesarea imaginilor

a) imaginea initiala; b) zgomot sare si piper


a)
c) filtru mediere 3x3; d) filtru mediere 7x7; e) filtru mediere 15x15
d) si e) => efectul de estompare (blur)

b) c)

d) e)
Cap. 3. Procesarea imaginilor

a) imaginea initiala; b) zgomot sare si piper


c) filtru gaussian 3x3; d) filtru gaussian 7x7;

b)
a)

c) d)
Cap. 3. Preprocesarea imaginilor

Exemplul 3.3

Se dă fereastra de dimensiune 5x5 dintr-o imagine cu 4


niveluri de gri. Să se determine pentru pixelul central
valoarea nivelului de gri obţinută prin:
a) mediere cu o mască ce accentuează pixelul central;
b) mediere ce accentuează pixelii tetraconectaţi;
c) netezire mediană.
1 0 1 0 0
0 2 3 0 1
1 1 2 3 0
0 1 2 3 1
0 1 1 0 1
Cap. 3. Procesarea imaginilor

3.3.2. Detecţia muchiilor


Localizează variaţii abrupte ale nivelului de gri într-o imagine

Muchie = proprietatea unui pixel


= variaţia funcţiei imagine într-o vecinătate
Variabilă tip vector = magnitudine şi direcţie

Variatia funcţiei imagine  gradientul funcţiei


Magnitudinea = modul gradientului
Direcţia  = direcţia grad.  - 90o (: direcţia în care funcţia imagine are variatia maximă)

Profiluri tipice pentru muchii 1D

f f f f
255 alb

x x x x

Treaptă Acoperiş Linie Zgomot


Cap. 3. Procesarea imaginilor

Gradientul funcţiei imagine continue


Detecţia muchiei = măsura gradientului funcţiei f de-a lungul lui r în direcţia θ

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

 fx    f y  ;   arg  f x , f y  (arg(x, y): unghiul în rad. dintre axa x şi (x, y))


2
M  grad f ( x, y ) 
2

sau: M  f x  f y , sau: M  max f x , f y  


Operatori de detecţie a muchiilor: gradient
compas
Cap. 3. Procesarea imaginilor

 2 f ( x , y )  2 f ( x, y )
• Magnitudinea muchiei (fără direcţie)   ( x, y )  2
 (Laplacian)
2
x y 2

• Calculul derivatelor  diferenţe finite

 i f (i, j )  f (i, j )  f (i  n, j )  i f (i, j )  f (i  n, j )  f (i  n, j )


 sau 
 j f (i , j )  f (i , j )  f (i , j  n )  j f (i, j )  f (i, j  n)  f (i, j  n)

• Operatori detectie: - aproximarea derivatelor FI cu diferenţe finite (gradient, compas) (i)


muchii - trecerile prin zero ale derivatei de ordinul doi (ii)
- punerea în corespondenţă cu modelele parametrice ale muchiilor (iii)

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

(i-1, j-1) (i, j-1) (i+1, j-1)

(i-1, j) (i, j) (i+1, j) M k (i, j )   hk (m, n) f (m  i, n  j ), k  0..7


m n
(i-1, j+1) (i, j+1) (i+1, j+1)

 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

(i) Operatorul gradient


 Operatorul Roberts
 1 1 1 0   0 1
(i, j) (i+1, j) i  , j   h1    , h2   
 2 2 0  1   1 0
Magnitud. : M R  f (i, j )  f (i  1, j  1)  f (i  1, j )  f (i, j  1)
22 (i, j+1) (i+1, j+1)
- mască 22: sensibilitate la zgomot

 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 x (i, j )   hx (m, n) f (m  i, n  j ); M y (i, j )   hy (m, n) f (m  i, n  j );


m n m n

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

- Dezavantaj: răspunde dublu pentru anumite muchii


Cap. 3. Procesarea imaginilor
Cap. 3. Procesarea imaginilor

Operatorul Roberts Operatorul Prewitt Operatorul Sobel


Cap. 3. Procesarea imaginilor

Operatorul Roberts Operatorul Prewitt Operatorul Sobel


Cap. 3. Procesarea imaginilor

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

Derivata de ordinul II: sensibilă la zgomote  netezirea imaginii


x2  y 2  x2  y 2 
  1  
 Filtrul Gaussian 2D G ( x, y )  e 2 2  e 2 
2
 2 2 
 
 
 = parametru  vecinătatea = arc cu R = 3
Cap. 3. Procesarea imaginilor

 Operatorul LoG (Laplacian of Gaussian)

 2 G( x, y,  )   f ( x, y)   2 G( x, y,  )   f ( x, y)

 2G : independent de imagine  se poate calcula analitic dinainte


r2

Substituţia r  x  y  G (r )  e 2 ;
2 2 2 2

r2 r2
1 
1  r 2   2
G(r )   re 2 2 ; G(r )  2 2  1e 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  1e 2 .
2
 
 
2

Locaţia în care  2G aplicat imaginii trece prin zero = muchie


Netezire  pot să dispară colţurile
Cap. 3. Procesarea imaginilor

a)

b)

Masti care aproximeaza operatorul LoG


a) 3x3; b) 11x11
Cap. 3. Procesarea imaginilor

Detectorul de treceri prin zero Operatorul LoG


Cap. 3. Procesarea imaginilor

Detectorul de treceri prin zero Operatorul LoG


Cap. 3. Procesarea imaginilor

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

să se determine muchiile considerând 1 0 3 3 1 0


2 4 4 4 7 0
pixelii de la punctul b)
1 5 5 5 5 0
2 1 6 6 1 2
1 2 1 1 2 1
Cap. 3. Procesarea imaginilor

3.3.3 Detectia colturilor

Muchie => trasatura unidimensionala (variatia functiei imagine intr-o directie)


=> reconstitue miscarea numai pe directia perpendiculara pe muchie

Colt => trasatura bidimensionala (variatia functie imagine in ambele directii – x si y)


=> intersectia a doua sau mai multe muchii
=> analiza miscarii in planul imaginii

Detectoare de colturi => calculul unei marimi locale = cornerness

• operatorul pentru detectia punctelor de interes (OPI)


• operatorul Harris
• operatorul Smith
Cap. 3. Procesarea imaginilor

• Operatorul pentru detectia punctelor de interes (OPI)


- Punct de interes (Moravec) => punct in care functia imagine
are variatii importante in toate directiile

x - Se calculeaza varianta vi, i = 1..4


f(x-1,y-1) f(x,y-1) f(x+1,y-1)
v1 ( x, y )  max( f ( x  1, y)  f ( x, y) , f ( x 1, y)  f ( x, y) )
i=1
v2 ( x, y )  max( f ( x, y 1)  f ( x, y) , f ( x, y 1)  f ( x, y) )
f(x-1,y) f(x,y) f(x+1,y) v3 ( x, y )  max( f ( x 1, y  1)  f ( x, y) , f ( x 1, y 1)  f ( x, y) )
v4 ( x, y )  max( f ( x  1, y 1)  f ( x, y) , f ( x 1, y 1)  f ( x, y) )

f(x-1,y+1) f(x,y+1) f(x+1,y+1)

i=3 - Puncte de interes:


 
y i=2 i=4 I f   x, y  ; min vi  x, y    
 i 
Cap. 3. Procesarea imaginilor

• Operatorul Harris

Regiune neteda (flat): Muchie (edge): Colt (corner):


fara schimbari in fara schimbari de-a importante schimbari
toate directiile lungul muchiei in toate directiile
Cap. 3. Procesarea imaginilor

 Estimarea variațiilor funției imagine f(i,j) pentru deplasarea cu


(Δx,Δy)
 w(i , j )  f (i  x, j  y )  f (i, j )
2
E ( x, y ) 
i, jw

- fereastra w(i,j) = sau

1 in fereastra, 0 afara gaussiana


- (i,j) puncte in fereastra w
- E(Δx, Δy) = 0 pentru regiuni netede
- E(Δx, Δy) va avea valori ridicate pentru regiuni cu variații importante
ale funcției imagine

 Detecția colțurilor  găsirea zonelor în care E(Δx, Δy) va avea


valori ridicate
Cap. 3. Procesarea imaginilor

 Estimarea lui f(i+Δx,j+Δy)


- dezvoltare in serii Taylor si aproximare prin luarea în considerare
numai a derivatelor de ordinuul I

f f
f (i  x, j  y )  f (i, j )  xf x (i, j )  yf y (i, j ); f  ,f 
x x y y

Aproximarea estimării variațiilor funcției imagine f(i,j) pentru


deplasarea cu (Δx,Δy)

2
E ( x, y )   w(i , j )  f (i , j )  xf x (i, j )  yf y (i, j )  f (i , j ) 
i , jw
2
 w(i , j ) xf x (i, j )  yf y (i, j )
i , jw
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 , jw  f x (i , j ) f y (i , j )  
f y (i , j ) 
T
 x y  A  x y 

 Evaluarea variatiilor folosind matricea A:


   f x2 fx f y  B C 
  f x (i , j ) 
2 f x (i , j ) f y (i , j )   
A  w(i, j)  2  

2  C D 
i , jw  f x (i , j ) f y (i , j )
  
f y (i , j )
 f f fy 
 x y 

o Derivatele fx, fy => aproximarea gradientului (de ex. cu Prewitt)

o Nota: w: (3x3) => vecinatatea de cautare: (5x5)


w: (5x5) => vecinatatea de cautare: (7x7) …etc.
Cap. 3. Procesarea imaginilor

 Descriptori pentru matricea A


- α si β = valorile proprii ale matricei A
• α si β mici: => regiune neteda (flat)
• o valoare proprie mica si cealalta mare => muchie (edge)
• α si β mari: => colt (corner)
β
 Funcția raspuns R:
R<0
R  Det ( A)  k Tr ( A) 
2

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

• R > 0 => regiunea corner


• R < 0 => regiunea edge |R| mic R<0
α
• |R| cu val. mici => regiunea flat
Cap. 3. Procesarea imaginilor

 Detectia colturilor => calculul marimii cv (cornerness value)

2 2
Tr ( A) fx  fy
cv  
Det ( A) 2 2 2
fx fy  fx f y

- cv nu necesita calculul valorilor proprii


- colt  cv < vp (valoare de prag)
Cap. 3. Procesarea imaginilor

• Operatorul Smith

Masca circulara => centru = nucleu


Pixelii cu acelasi nivel de gri cu al nucleului => colorati in negru
Zona colorata in negru => USAN (Univalue Segment Assimilating Nucleus)

Masca Smith – 37 pixeli


Cap. 3. Procesarea imaginilor

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)

- se calculeaza aria USAN: n   c( r , r0 )


r
• Colt  n < g
g=1/2 din cea mai mare arie posibila USAN (g = 1850)
Cap. 3. Procesarea imaginilor

Harris Smith

OPI

OPI => α = 26
Harris => vp = 1000
Smith => t = 29
Cap. 3. Procesarea imaginilor

Exemplul 3.5

Se dă fereastra de mai jos de dimensiune 6x6 cu 8 niveluri de


gri și considerând pixelii marcați din linia a 3-a, se cere să
se determine colțurile folosind operatorul pentru detecția
punctelor de interes știind că α = 3.

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

3.4. Reconstituirea imaginilor


Degradarea imaginilor (funcţii h) - mişcarea relativă a unui obiect (V = ct.) în raport cu camera (a)
- focalizarea greşită a imaginii (b)
- turbulenţe atmosferice (c)
Imaginea degradată: g (i, j )  ( f  h)(i, j )   (i, j )
zgomot
G (u, v)  F (u, v) H (u, v)  N (u, v)
F (u, v)  G (u, v) H 1 (u, v)  N (u, v) H 1 (u, v)
(a) V = viteza constantă pe directia axei x, T = intervalul de timp
sin(VTu )
Transformata Fourier a degradări: H (u, v) 
Vu
J1(a, r )
(b) H (u, v)  ; r 2  u 2  v2
ar
J1 = funcţia Bessel de ordinul I
c (u 2 v 2 )5 / 6
(c) H (u, v)  e :c = coeficient dependent de tipul turbulenţei
Cap. 3. Procesarea imaginilor

3.5 Procesarea imaginilor color


f ( x, y)  f R ( x, y) fG ( x, y) f B ( x, y) 
T

(i) procesarea fiecărei componente a imaginilor color

(x,y)
• (x,y)

Imagine monocromă Imagine color RBG

(i) procesarea bazată pe reprezentarea vectorială


Cap. 3. Procesarea imaginilor

Detecția muchiilor

(i)  se determină muchiile pentru fiecare componentă


- se aplică tehnicile de la imaginile monocrome

f ( x, y)  f R ( x, y) fG ( x, y) f B ( x, y) 
T

(ii)  Gradientul vectorului f în fiecare punct (x,y)


R G B
m r g b
x x x
R G B
n r g b
y y y
r, g, b: vectori unitate de-a lungul axelor R, G, B
Cap. 3. Procesarea imaginilor

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

Di Zenzo  direcţia variaţiei maxime


1 2 g xy
  arctg
2 g xx  g yy

 magnitudinea: variaţia în direcţia θ

 g xx  g yy    g xx  g yy  cod 2  2 g xy sin 2 
1
M ( ) 
2 
Cap. 3. Procesarea imaginilor

3.6 Transformări morfologice


 Transformări morfologice: modificarea formei spațiale sau a structurii
obiectelor dintr-o imagine
 pixelii din imagine => structurați în mulțimi (partiții, forme, ...)
 modificarea formei obiectelor
o nu este o operație de filtrare în sensul descris până acum (preprocesare
locală)
o se comparaă formele din imagine prin interacțiuni și aplicări de reguli cu o
anumită formă prestabilită
o forma prestabilită = element structurant: o mulțime geometrică, aleasă
arbitrar sau impusă (cunoscută a priori) a cărei formă geometrică determină
modul de prelucrare al imaginii
o comparația se va reduce la operații clasice pe mulțimi (incluziune, intersecție,
reuniune,...) aplicate între mulțimea imagine şi mulțimea element structurant
=> rezultatul = o mulțime
Cap. 3. Procesarea imaginilor

Operații morfologice pe imagini binare


 prelucrarea morfologică a imaginii binare => modificarea formelor
obiectelor (valorilor de 1) din mulțimea imagine binară
 tipuri de operații morfologice:
o operații de bază: erodare, dilatare.
o operații compuse: deschidere, închidere, skeleton, gradient morfologic,
hit or miss
Cap. 3. Procesarea imaginilor

Operația de erodare morfologică


 erodarea morfologica (simbol Θ) a mulțimii A prin elementul
structurant B se defineşte ca fiind mulțimea punctelor din imagine în
care elementul structurant translatat este inclus în mulțimea A

AB   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

structurant translatată cu originea în x: Bx    x |   B

 Se parcurgem imaginea secvențial pixel cu pixel de sus în jos şi de la


stânga la dreapta, şi se suprapune elementul structurant
Cap. 3. Procesarea imaginilor

Operația de dilatare morfologică


 dilatarea morfologica (simbol ⊕) a mulțimii A prin elementul
structurant B se defineşte ca fiind mulțimea punctelor din imagine în
care elementul structurant translatat are cel puțin un punct comun cu
mulțimea A
A  B   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

structurant translatată cu originea în x: Bx    x |   B

 se parcurgem imaginea secvențial pixel cu pixel de sus în jos şi de la


stânga la dreapta, şi se suprapune elementul structurant
Cap. 3. Procesarea imaginilor

Exemple de operații morfologice de bază

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

Operația de deschidere morfologică


 deschiderea morfologică (simbol ○) a mulțimii A prin elementul
structurant B, se defineşte ca fiind operația de erodare a lui A cu
elementul structurant B urmată de o dilatare cu elementul structurant B

A B  ( AB)  B
unde:
o A este mulțimea imagine (pixelii obiectului)
o B este mulțimea elementului structurant,

 se parcurgem imaginea secvențial pixel cu pixel de sus în jos şi de la


stânga la dreapta, şi se suprapune elementul structurant
Cap. 3. Procesarea imaginilor

Operația de închidere morfologică


 închidere morfologică (simbol ●) a mulțimii A prin elementul
structurant B, se defineşte ca fiind operația de dilatare a lui A cu
elementul structurant B urmată de o erodare cu elementul structurant B

A  B  ( A  B)B
unde:
o A este mulțimea imagine (pixelii obiectului)
o B este mulțimea elementului structurant,

 se parcurgem imaginea secvențial pixel cu pixel de sus în jos şi de la


stânga la dreapta, şi se suprapune elementul structurant
Cap. 3. Procesarea imaginilor

Exemple de operații morfologice compuse

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

S-ar putea să vă placă și