Sunteți pe pagina 1din 33

Cap.

5 Descrierea și reprezentarea formelor


5.1 Identificarea regiunilor
5.2 Descrierea formelor bazată pe contur
5.2.1 Codurile Freeman (lant)
5.2.2 Reprezentări geometrice ale frontierei
5.2.3 Descriptori Fourier
5.2.4 Reprezentarea poligonala a frontierei
5.3 Descrierea formelor bazată pe regiune
5.3.1 Descriptori scalari simpli
5.3.2 Descriptori bazati pe momente
5.3.3 Grafuri bazate pe scheletul regiunii

1
Cap5. Descrierea si reprezentarea formelor

Segmentarea ⇒ construirea regiunilor omogene


⇒ determinarea frontierelor regiunilor

Descrierea regiunilor statistică: vector (numeric) al trasaturilor


sintactică: descrierea calitativă prin
relații structurale

Caracterizeaza proprietatile regiunilor: forma

Forma ⇒ nu exista tehnici generale de descriere


Clase de forme:
forme generice ale obiectelor ce apartin acelorasi clase
Cap. 5. Descrierea si reprezentarea formelor

Forma ⇒ proprietatea unui obiect


- reprezentarea formelor frontiere - extern
regiuni - intern
- abilitatea refacerii obiectelor
- posibilitatea de a recunoaste formele incomplete
- tehnici de reprezentare matematice: TF
euristice : elongatia
- descrierea statistica sau sintactica
- robustetea descrierii la translatii, rotatii, scalari etc.
Descrierea formelor ⇒ descriptori globali
sau de frontiera: descriere externa locali
de regiune: descriere interna
Cap. 5. Descrierea si reprezentarea formelor

5.1. Identificarea regiunilor


Identificarea regiunilor: necesara pentru descrierea regiunilor

Identificarea = etichetarea (“colorarea”) unei regiuni (frontiere) cu un numar intreg


- eticheta cu numarul cel mai mare ⇒ numarul regiunilor

m
Imaginea R 
→ Ri regiuni disjuncte: ∪ Ri = R, Ri ∩ R j = φ
segmentare
i =1 i≠ j

m
c
Ri = obiecte (i ≠ b); Rb = fundal ⇒ ∪ Ri = Rb
i =1i ≠b

i ≠b
Etichetare: Rb = 0, Ri = vi
Cap. 5. Descrierea si reprezentarea formelor

• Algoritm de etichetare
0 0 0 0 0 0
f (i-1, j -1) f (i-1, j) f (i-1, j +1) 0 1 0 0 2 0
f (i-1, j)
0 1 0 0 2 0
f (i, j -1) f (i, j ) f (i, j -1) f (i, j) 0 1 0 0 2 0
0 1 1 1 ? 0
V4 V8
0 0 0 0 0 0

1. Cerceteaza linie cu linie R


pixelul R(i, j) ≠ 0 ⇒ R(i, j) = v, v ≠ 0 : v in functie de pixelii vecini aflati in V4 sau V8
1.1 • vecinii ∈ Rb ⇒ v = valoare noua (numar nou nefolosit)
1.2 • un vecin ≠ 0 ⇒ v = valoare gasita ≠ 0
1.3 • mai multi vecini ≠ 0 ⇒ se atribuie eticheta oricarui pixel ≠ 0 ⇒
coliziunea etichetelor ⇒ perechi echivalente in tabele de echivalente
2. Pixeli cu etichete incerte ⇒ tabelul de echivalente ⇒ se alege o valoare
(de ex. cea mai mica)

Etichetele se atribuie incremental in diferite etape ale algoritmului


Cap. 5. Descrierea si reprezentarea formelor

Exemplu
Identificarea regiunilor folosind V8

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 2 2 0 0 3 3 0 4 0
0 1 1 1 1 1 1 0 0 1 0 0 1 0 0 5 5 5 2 2 2 0 0 3 0 0 4 0
0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 5 0 2 0 0 0 0 0 4 0
0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 6 6 5 5 5 2 2 2 2 2 4 4 0
0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 5 5 5 2 2 2 2 2 4 0
0 1 1 0 0 0 1 0 1 0 0 1 1 0 0 7 7 0 0 0 5 0 2 0 0 2 2 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
a) Ri = 1; Rb = 0 b) pasul 1o: Ri = vi
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 2 2 0 0 1 1 0 2 0
0 2 2 2 2 2 2 0 0 1 0 0 2 0 Tabelul de echivalente:
0 0 0 0 2 0 2 0 0 0 0 0 2 0 2-5
0 2 2 2 2 2 2 2 2 2 2 2 2 0
0 0 0 0 2 2 2 2 2 2 2 2 2 0
5-6
0 3 3 0 0 0 2 0 2 0 0 2 2 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
2-4

c) pasul 2o: 5=>2; 6=>5=>2; 4=>2


Cap. 5 Descrierea si reprezentarea formelor

5.2. Descrierea formelor bazata pe contur

Reprezentarea matematica a frontierelor regiunilor

y y y

yn xn n
r

x φ x θ x
xn

Sistem de ⇒ rectangular polar tangential


coordonate
(•) un element
⇒ (xn,yn) (r, φ ) (n, θ )
al frontierei
Cap. 5 Descrierea si reprezentarea formelor

5.2.1. Codurile Freeman (lanț)


• Codul lanț = reprezentarea frontierei prin:
- coordonate punct start
- secvență de numere = șir de segmente de lungime dată cu direcții
predefinite (de obicei se folosește V4 sau V8)

• Codul lant diferential mod 4 sau mod 8: secvență de direcții


relative măsurate ca variații cu 90o (V4) sau 45o (V8)
o dir = dir(k+1) – dir(k)
• Codul lant normalizat ⇒ independent de pixelul de START
- se alege punctul de START astfel încât să rezulte o secvență de
numere ce formează un număr întreg de valoare minimă
Cap. 5 Descrierea si reprezentarea formelor

Exemplul 5.1
Se consideră frontiera interioară a regiunii hașurate din figură. Se cere
să se determine codul lanț și codul lanț diferențial.
START: (2, 4)

1 • • • •
START
• •
0 • • • • •
2 • • • • • •
• •
3 • • • • • •
V4
frontiera interioară reprezentarea frontierei cu codul lanț
Codul lant: (2,4) 3 0 0 3 3 0 0 0 0 0 1 1 2 2 1 1 1 2 2 2 3 3 2 2

[0o-(-90o)] [0o-0o] [-90o-0o]


90o 0o -90o
Codul lanț diferential: (2,4) 1 0 3 0 1 0 0 0 0 1 0 1 0 3 0 0 1 0 0 1 0 3 0 1
Cap. 5 Descrierea si reprezentarea formelor

5.2.2. Reprezentari geometrice ale frontierei

Descriptori sensibili la rezolutia imaginii


 Lungimea frontierei
Codul lant: 4 dir. ⇒ directii de lungime unitara;
8 dir. ⇒ directii de lungime 1 sau 2
Frontiera inchisa ⇒ lungime = perimetru [pixeli]
 Curbura
Cazul continuu: curbura = rata de variatie a pantei
nr. total de pixeli ai frontierei (lungimea)
Descriptorul curbura =
nr. de pixeli cu schimbari semnificative de directie

Evaluarea curburii ⇒
detectia punctelor de curbura ridicata = colturi sau puncte dominante (•)
Cap. 5 Descrierea si reprezentarea formelor

• ⇒ puncte dominante: varfurile poligonului care aproximeaza conturul


y  x = x (t )
C , a ≤ t ≤ b : reprezentarea parametrica
 y = y (t ) a curbei C
C = x + jy

t 2 2
 dx(τ )   dy (τ ) 
s (t ) = ∫  dτ  +  dτ  dτ : lungimea unui
x a arc ∀ t ∈ [a, b]
y
Functia de curbura: rata de schimare a direcției
T1 α T2 tangentei (α) la contur ca o funcție de
M2
s dα dα dt
lungimea arcului s: c( s) = =
M1 ds dt ds
x

dy dy / dt yɺ d dα xy ɺɺɺ − ɺɺɺ
xy
tgα = = = ⇒ (tgα ) = sec α = 2

dx dx / dt xɺ dt dt xɺ 2

dα 1 ɺɺɺ − ɺɺɺ
xy xy xy ɺɺɺ − ɺɺɺ
xy ds ɺɺɺ − ɺɺɺ
xy xy
= = ; = xɺ − yɺ ⇒ c = 2 2
3/2
dt 1 + tg α xɺ
2
xɺ − yɺ
2 2
dt 2
( xɺ − yɺ ) 2 2
Cap. 5 Descrierea si reprezentarea formelor

x(t + 1) − x (t − 1)
Cazul discret: xɺ (t ) ≅ x(t ) ⇒ analog
, ɺɺ
2 2
[ x(t + 1) − x(t − 1) ] + [ y(t + 1) − y (t − 1)]
functia c = zgomotoasa t2

2
 Netezirea functiilor x(t) si y(t): operator gaussian g (t ,σ ) = e 2σ

( t −τ )2
⇒ netezirea functiei x(t)
∞ −
x(t ,σ ) = x(t ) ∗ g (t ,σ ) = ∫ x(τ )e 2σ 2

−∞

xɺ (t ,σ ) = [ x(t ) ∗ g (t ,σ ) ] = x(t ) ∗ gɺ (t ,σ )
'

x(t ,σ ) = [ x(t ) ∗ g (t ,σ ) ] = x (t ) ∗ gɺɺ(t ,σ )


"
ɺɺ
1 −
t2
1 t 
2

t2

gɺ (t ,τ ) = − te σ ; gɺɺ(t ,σ ) =  − 1 e σ
2 2
2 2

σ
2
σ σ 2

2

xɺ (t , σ ) ɺɺ
y (t ,σ ) − ɺɺ
x(t , σ ) yɺ (t ,σ )
c (t , σ ) = ⇒ funcția de curbură
[ xɺ (t ,σ ) + yɺ (t ,σ )]
3/2
2 2
Cap. 5 Descrierea si reprezentarea formelor

 Energia de indoire

Energia de îndoire (EI): energia înmagazinată într-o formă => suma energiilor estimate
prin reprezentarea conturului folosind codul lanț și curbura : c(k) = dir(k+1)-dir(k)
 0 ÷0 
L −1
1 
EI = ∑
L k =1
c 2 (k ) Codare curburã :  45 ÷ 1 ; − 45 ÷ −1
 

90 ÷ 2 ; − 90 ÷ −2
 

Exemplul 5.2

Se consideră frontiera reprezentată prin codul lanț:


Să se determine energia de îndoire.

c(k) c2(k)
2 4
1 1 8
k 2 EI = 16 =
-1 1 8+ 2 2 4+ 2
-2 k
Cap. 5 Descrierea si reprezentarea formelor

y
 Semnătura
Semnătura = o secvență de distanțe normale la contor

• Exemple

2r
r

Cerc Semnatura unui cerc


h

h
Triunghi echilateral Semnatura unui triunghi
Cap. 5 Descrierea si reprezentarea formelor

5.2.3. Descriptori Fourier


Curba C parcursa cu viteza constanta:
y
(x (s), y1(s)) z (t ) = x(t ) + jy (t )
• 1
C viteza ⇒ intregul contur parcurs in T = 2π
s
x z (t) = funcție periodica → se descompune în
T


1
seria Fourier: z (t ) =
n
Tn e jnt ⇒ Tn =
T ∫
z (t )e − jnt dt ⇒ descriptori Fourier
0

Este mai convenabil să se folosescă distanța s în loc de timpul t


L 2π
− jn
s: distanta parcursa in t sec. : t = 2π s ; t → s ⇒ Tn = 1 z ( s )e
s

L L ∫ L ds

Descriptorii Tn depind de: - forma curbei


- punctul de start
Cap. 5 Descrierea si reprezentarea formelor

Descriptori Fourier invarianti


forma
z (t ) 
→ z (k ) → TFD → Tn
● ● ● discreta
( xL−1 , yL −1 ) ● ● Frontieră alcătuită din L puncte în planul (x,y):
( x0 , y0 ) ● ●
( x0 , y0 ), ( x1 , y1 ),..., ( xL −1 , y L −1 )
( x1 , y1 ) ● ●
frontierã închisã ⇒ ( x0 , y0 ) = ( xL , yL )

Secventele xm ,ym sunt periodice ⇒ se descompun în serii Fourier :


2π 2π
1 L −1 −j nm 1 L −1 −j nm
⇒ descriptorii Fourier : an = ∑ xm e L −1
; bn = ∑ ym e L −1
L m =0 L m =0
2 2 rn
r
Descriptori invarianti la rotatii si translatii: n = a n + bn ; wn =
r1

rn
Descriptori invarianti la scalare: wn =
r1
Cap. 5 Descrierea si reprezentarea formelor

• Reprezentarea frontierelor prin lk , ϕk


lk = dist ( x1 , x k ); ϕk : unghiul tangentei pentru x k
y ϕ4
5
3 4 uk = 2π lk L
1 2 l4
(x1, y1)
a (lk ) = ϕk + uk : functie periodica
x
SF

1
Sn =
2π ∫ a (u )e − jnu du
0

ϕk ⇒ capteaza frecventele ridicate ⇒ Sn descrește mai incet ca Tn

Descrierea formelor ⇒ câțiva coeficienți Fourier de ordin inferior


Cap. 5 Descrierea si reprezentarea formelor

5.2.4. Reprezentarea poligonala a frontierei

Reprezentarea poligonala ⇒ regiunea ~ poligon ⇒ descriere prin varfuri

Frontiera ⇒ segmentare ⇒ secventa de segmente de drepta


segmente de curbura constanta

Punctele extreme ale fragmentelor de frontiera ⇒ varfuri

Segmentare - puncte de curbura ridicata = varfuri pentru fragmentele de frontiera


frontierei - pixeli adiacenti ce pot fi aproximati prin drepte sau curbe
Cap. 5 Descrierea si reprezentarea formelor

•Determinarea segmentelor liniare de contur (metoda celor mai mici patrate)


Segmentarea frontierei ⇒ varfurile {x(i), y(i)}, i = 1 … N ; parametrii segmentelor
Fragmente (pixeli de la 1 → n) ⇒ drepte: y = ax + b ⇒ a, b ?

n
Calculul parametrilor optimi: f (a, b) = ∑ ( yi − axi − b) 2 = min
i =1
n
∂f (a, b)
∂a
=0 ⇒ ∑ x ( y − ax − b) = 0
i =1
i i i

n
∂f (a, b)
∂b
=0 ⇒ ∑y
i =1
i − axi − b = 0
n n n n
Notatii: ∑x
i =1
2
i = mx 2 ; ∑x
i =1
i = mx ; ∑y
i =1
i = my ; ∑x y
i =1
i i = mxy

amx2 + bmx = mxy mxy − mx m y mx 2 m y − mx m y


⇒  ⇒ a= 2
; b=
amx + b = my mx 2 − m x mx2 − mx2
Cap. 5 Descrierea si reprezentarea formelor

• Segmentarea frontierelor in domeniul ψ - s


Segmentarea frontierei ⇒ determinarea varfurilor in ψ - s:
ψ = dir. tangentei la contur;
s = lungimea arcului

y b a ψ
• •

π
• • Punct de start x s
c d
a b c d

ψ(s) = constant ⇒ portiuni liniare


liniar variabil ⇒ zone de curbura constante
Cap. 5 Descrierea si reprezentarea formelor

• Determinarea valorilor lui ψ (s) intr-un punct (xp, yp)


(xp+k , yp+k)
- pixelii din vecinatatea (xp-k, yp-k) ÷ (xp+k, yp+k) •
• •
Cuantizarea directiei: 0o, ± 45o, ± 90o, … • •
(xp , yp) • •

ψp(k) • •
• Valoarea unghiului ψ :

 x p −k − x p  •
A p (k ) =   • (x , y )
ATp ( k )B p (k )  y p −k − y p  p-k p-k
[ ]
cos ψ p (k ) =
A p (k ) B p (k )
 x p − x p+k 
B p (k ) =  
 y p − y p+k 
impusa apriori
Valoarea lui k
k opt. : cosψ p (m) > cosψ p ( m −1) >... > cosψ p (kopt ) > cosψ p (kopt −1)
m ≅ N 10 ⇒ N = lungimea fragmentului
Cap. 5 Descrierea si reprezentarea formelor

5.3. Descrierea formelor bazata pe regiuni

Regiuni forme simple: descriptori euristici: aria, elongatia, compactitatea etc


forme complexe ⇒ descomp.in subregiuni simple ⇒ descriptori euristici

Obiect ⇒ graful subregiunilor


⇒ - subtierea regiunilor ⇒ scheletul regiunii
- subregiune = nod; arcele = relatii de vecinatate ale subregiunilor

Reprezentari grafice ale regiunilor:


- invariante la translatii, rotatii si in raport cu magnitudinea
- robuste la mici schimbari ale formei
- potrivite pentru recunosterea sintactica
Cap. 5 Descrierea si reprezentarea formelor

5.3.1. Descritori scalari simpli


Proprietati globale ⇒ descriptori : vector de trasaturi ⇒ recunoasterea statistica
• Aria
A = nr. de pixeli ⇒ aria reala a unui pixel
Grila rectangulara: functie caracteristica a regiunii R
1 daca pixelul ( x, y ) ∈ R
g ( x, y ) =  ⇒ AR = ∑∑ g (i, j )
0 in rest i j
- R → poligon cu varfurile (ik , jk ) si (i0 , j0 ) = (in , jn )
1 n−1
A = ∑ (ik jk +1 − ik +1 jk )
2 k =0
- R → codul lant cu 4 directii pentru frontiera extisa
1o A = 0, pozitia verticala PV = j ⇒ coordonata j a punctului de start
2o Pentru directiile codului executa ⇒ 0: A = A + PV
1: PV = PV - 1
2: A = A - PV
3: PV = PV + 1
3o Elementele frontierei parcurse ⇒ aria in A
Cap. 4. Segmentarea imaginii

Exemplul 5.3

Se consideră regiunea R din figura a). Să se calculeze aria regiunii


folosind reprezentarea prin codul lanț a frontierei extinse (figura b)).

a) Regiunea R (galben) b) Frontiera extinsă a regiunii R


(verde - vezi Exemplul 4.5)
Cap. 5 Descrierea si reprezentarea formelor

• Perimetrul
Pixelii care apartin frontierei C = {(i, j ) ∈ R V4 (i, j ) − R ≠ φ }
C = {(i, j ) ∈ R V8 (i, j ) − R ≠ φ }

C = {(i0 , j0 ), (i1, j1),..., (in , jn )}: ordonarea pixelilor vecini ⇒ fiecare pereche formata din vecini
P = Card{(ik , jk ) ∈C (ik , jk ) ∈V4 (ik −1, jk −1)}+
+ 2 Card {(ik , jk ) ∈C (ik , jk ) ∈[V8 (ik −1, jk −1) −V4 (ik , jk )]}

P2
• Compactitatea γ =
A

Cerc: d γ = 4π cercul ⇒ cea mai compacta regiune

2
2π (a 2 + b 2 ) 2 
a   2π (a 2 + b 2 )
Elipsa: γ= =
b
πab ab

l [2l ( k +1)]2 4(k +1)2


Dreptunghi: γ= =
kl 2 k
kl
Cap. 5 Descrierea si reprezentarea formelor

• Centrul de greutate
1 1
ic = ∑∑ i ; jc = ∑∑ j
A (i , j )∈R A (i , j )∈R
• Elongatia
Gradul de excentritate => distantele de la pixelii frontierii la centrul de greutate
(ic , jc) - centrul de greutate
(ik , jk) - pixelii frontierei d (k ) = d {(ic , jc ), (ik , jk )} k = 0,1,..., n −1
n = nr. de pixeli ∈ frontierei

d max
, d max = max {d ( k )} ; d min = min {d ( k )}
d min k k

Elongatia

µd 1 n −1 1 n −1
, µ d = ∑ d (k ); σ d = ∑ [ d ( k ) − µ d ]
2

σd n k =0 n k =0
Cap. 5 Descrierea si reprezentarea formelor

• Punctele de extrem Laturile dreptunghiului:


y sst sd
s = sus imin = min{(i, j ) ∈ I (i, j ) ∈ R}
i
sts ds j = jos imax = max{(i, j ) ∈ I (i, j ) ∈ R}
dj d = dreapta i
stj
st = stanga jmin = min{(i, j ) ∈ I (i, j ) ∈ R}
jst jd x j
jmax = max{(i, j ) ∈ I (i, j ) ∈ R}
j

 Regiunea ⇒ incadrata intr-un dreptunghi cu laturi paralele cu 0x si 0y

 Coordonatele punctelor de extrem:


{( )
sts = imin , max(imin , j ) ∈ I (imin , j ) ∈ R
j }
{(
sd = max(i, jmax ), jmax ∈ I (i, jmax ) ∈ R
i
) }
o Fiecare pereche de puncte extreme (ex.: sts, sd) ⇒ axa: lungime, orientare = descriptori
Cap. 5 Descrierea si reprezentarea formelor

5.3.2. Descriptori bazati pe momente


• Functia imagine normalizata = densitate de probabilitate a unei variabile aleatoare 2D
Proprietatile variabilei aleatoare ⇒ caracteristici statistice = momente
∞ ∞ imag. ∞ ∞
Momentul de ordinul p + q: m pq = ∫ ∫ x p y q f ( x, y )dxdy →m pq = ∑ ∑ i p j q f (i, j )
−∞ −∞ digit. i =−∞ i =−∞
∞ ∞
p q
- momente centrate (invariante la translatie): µ pq = ∑ ∑ (i − xc ) ( j − yc ) f (i, j )
i =−∞ i =−∞
m10 m01
x
Centrul de greutate (xc, yc): c = , yc =
m00 m00

Imagine binara: m00 = A ( f (i, j ) = 1 pt . (i , j ) ∈ R )


- momente centrate scalate: scalare → x' = αx, y ' = αy

µ ' pq p+q µ pq
η pq = cu : γ = +1, µ ' pq =
(µ '00 )γ 2 α ( p + q + 2)
Cap. 5 Descrierea si reprezentarea formelor

µ pq
- momente centrate normalizate nescalate: ν pq =
( µ00 )γ
ν pq → ϕi : invarianta la translatie, rotatie si scalare (pe baza teoriei invariantilor algebrici)

2
ϕ1 =ν 20 +ν 02 ; ϕ 2 = (ν 20 +ν 02 )2 + 4ν11
ϕ3 = (ν 30 − 3ν12 )2 + (3ν 21 −ν 03 )2 ; ϕ 4 = (ν 30 +ν12 )2 + (ν 21 +ν 03 )2
[
ϕ5 = (ν 30 − 3ν12 )(ν 30 +ν12 )(ν 30 +ν12 )2 − 3(ν 21 +ν 03 )2 + ]
(3ν 21 −ν 03 )(ν 21 +ν 03 )[3(ν 30 +ν12 )2 − (ν 21 +ν 03 )2 ]
ϕ 6 = (ν 20 −ν 02 )([ ν 30 +ν12 )2 − (ν 21 +ν 03 )2 ]+ 4ν11(ν 30 +ν12 )(ν 21 +ν 03 )
ϕ 7 = (3ν 21 −ν 03 )(ν 30 +ν12 )([ν 30 +ν12 )2 − 3(ν 21 +ν 03 )2 ] −

(ν 30 − 3ν12 )(ν 21 +ν 03 )[3(ν 30 +ν12 )2 − (ν 21 +ν 03 )2 ]


Cap. 5 Descrierea si reprezentarea formelor

• Regiunea ⇒ frontiera: distanta→ d (k ) = d {(ic , jc ), (ik , jk )} k = 0,1,..., n −1


1 n
- momentul de ordinul r: mr = ∑ [d (k )]r ;
n k =1
1 n
- momentul de ordinul r centrat: µ r = ∑[d (k ) − m1 ]r
n k =1
1 n
∑[d (k )]r
mr n k =1
- momentul normalizat: mr = = ;
r /2 r/2
(µ2 ) 1 n 2
 ∑ [d ( k ) − m ]
1 
n
 k =1 
1 n r
∑ [d (k ) − m1]
µr n k =1
- momentul normalizat centrat: µr = =
(µ2 )r / 2  1 n 2 
r/2
 ∑ [d (k ) − m1] 
 n k =1 
- descriptori cu sensibilitate scazuta la zgomote
F1 = ( µ 2 )1/ 2 m1 ; F2 = µ3 ( µ 2 )3 / 2 ; F3 = µ 4 ( µ 2 ) 2
Cap. 5 Descrierea si reprezentarea formelor

5.3.3 Grafuri bazate pe scheletul regiunii


Graf: nod = punct de curbura ridicata
Subtierea regiunii → scheletul regiunii → graf
• Algoritm (grosimea maxima = 2 pixeli)
1o R: multimea pixelilor unei regiuni
Hi(R): frontiera interioara; H0(R): frontiera exterioara
S(R): pixeli din R cu toti vecinii octoconectati cu Hi(R) sau cu fundalul
Rold = R
2o Construieste regiunea Rnew prin subtiere
Rnew = S ( Rold ) ∪ [Rold − H i ( Rold )]∪ [H 0 (S ( Rold ) ) ∩ Rold ]

3o Daca Rnew = Rold ⇒ STOP si treci la pasul 4o


Daca Rnew ≠ Rold ⇒ Rold = Rnew si repeta pasul 2o
4o Rnew = multimea pixelilor ce formeaza scheletul regiunii R
Cap. 5 Descrierea si reprezentarea formelor

• Ilustrarea algoritmului de subtiere


º º º Rnew = S ( Rold ) ∪ [Rold − H i ( Rold )]∪ [H 0 (S ( Rold ) ) ∩ Rold ]
Pasul 1o º × × × º Pasul 2o
º × × º •
º × × º

º × × º º º º º º

º × × × × × × × × º

º × × º º º
• • • • • • • + + +
º × × × × × × × × × ⊗ ⊗ ⊗ º
⊕ ⊕ ⊕ ⊗ ⊗ ⊗ +
º º º ⊗ ⊗ º º º º º º º
+ ⊗ ⊗ + + + +
º ⊗ ⊗ º
º ⊗ ⊗ º + ⊗ ⊗ +
º º + ⊗ ⊗ +
+ +

× Hi(R) ⊗ S(Rold)

º H0(R) • Rold - Hi(Rold)

⊗ S(R) + H0( S(Rold))

⊕ H0( S(Rold)) ∩ Rold


Cap. 5 Descrierea si reprezentarea formelor

• Subtierea regiunilor → axe mediane ⇒ scheletul


Axa mediana: scheletul = multimea punctelor ∈ R care au aceeasi distanta minima de la
frontiera pentru cel putin doua puncte separate ale frontierei

• Exemple: Schelete ale unor regiuni

• • •

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