23
1 APIM6 - 1 Reprezentarea si analiza obiectelor APIM6 - 2 In cursul de astazi… Masuratori ale formei obiectelor Masuratori ale obiectelor multiple masuratori globale ale obiectelor numararea obiectelor obiecte care intersecteaza marginea imaginii obiecte suprapuse distributia obiectelor transformata Hough Reprezentarea obiectelor reprezentarea frontierei obiectelor reprezentarea regiunilor APIM6 - 3 Introducere Segmentarea imaginilor = impartirea imaginii in structuri cu un anumit inteles Sarcina procesarii imaginii = determinarea unui grup de pixeli dintr-o imagine care sunt uniti intr- un anumit fel Grup de pixeli = obiect Utilizarea acestui grup de pixeli pentru a face masuratori Reprezentarea obiectelor APIM6 - 4 Conectivitate obiectul = un set de pixeli conectati in 2D: conectivitate 4 (N 4 ) conectivitate 8 (N 8 ) in 3D: conectivitate 6, 18 sau 26 conectivitate 4 conectivitate 8

Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

1

APIM6 - 1

Reprezentarea si analiza

obiectelor

APIM6 - 2

In cursul de astazi… • Masuratori ale formei obiectelor

• Masuratori ale obiectelor multiple – masuratori globale ale obiectelor

– numararea obiectelor

– obiecte care intersecteaza marginea imaginii

– obiecte suprapuse

– distributia obiectelor

– transformata Hough

• Reprezentarea obiectelor – reprezentarea frontierei obiectelor

– reprezentarea regiunilor

APIM6 - 3

Introducere

• Segmentarea imaginilor = impartirea imaginii in structuri cu un anumit inteles

• Sarcina procesarii imaginii = determinarea unui grup de pixeli dintr-o imagine care sunt uniti intr-un anumit fel

• Grup de pixeli = obiect

• Utilizarea acestui grup de pixeli pentru a face masuratori

• Reprezentarea obiectelor

APIM6 - 4

Conectivitate • obiectul = un set de pixeli conectati

• in 2D: – conectivitate 4 (N4)

– conectivitate 8 (N8)

• in 3D: conectivitate 6, 18 sau 26

conectivitate 4 conectivitate 8

Page 2: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

2

APIM6 - 5

Metrici distanta

• distanta Manhattan (city-block, taxicab) pentru N4

d4(x,y) = |x1-x2| + |y1-y2|

• distanta Chebyshev (chessboard) pentru N8

d8(x,y) = max{|x1-x2|, |y1-y2|}

• distanta euclidiana

APIM6 - 6

Masuratori ale formei obiectului

• Masuratoarea reduce imaginea la un scalar si ascunde detaliile

• Dificultatea = alegerea masuratorii adecvate tipului de aplicatie; alegerea masuratorii care reduce informatia de care avem nevoie la un scalar

• Exista un numar mare de masuratori de baza asupra formei obiectelor

• Deseori nu exista consens in definirea lor matematica

• Majoritatea masuratorilor sunt sensibile la rezolutie

APIM6 - 7

Masuratori ale formei obiectului (2) • aria • perimetrul • compactitatea

• rotunjimea • cea mai lunga coarda • cea mai lunga coarda perpendiculara

• excentricitatea • elongatia • aria minima a dreptunghiului circumscris

• dreptunghiularitatea • curbura • etc.

APIM6 - 8

Masuratori ale formei obiectului (3)

• Aria (A) – numararea tuturor pixelilor continuti in obiect

• Perimetrul (l) – lungimea totala a frontierei obiectului

– pasul poate fi 1 sau 2

l = 11.07

l = 14

Page 3: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

3

APIM6 - 9

Masuratori ale formei obiectului (4) • Compactitatea:

– c mic - obiect compact

– c mare - obiect mai putin compact

– c =1 -> cerc

– c>1 pentru celelalte forme

• Rotunjimea =1/c

A

lc

4

2

APIM6 - 10

Masuratori ale formei obiectului (5)

• Cea mai lunga coarda:

– masurata intre pixeli (x1,y1) si (x2,y2) aflati pe frontiera figurii

• Cea mai lunga coarda perpendiculara = lp

• Excentricitatea = lc/lp

12

12

2

12

2

12 )()(

xx

yytg

yyxxlc

APIM6 - 11

Masuratori ale formei obiectului (6) • Aria minima a dreptunghiului circumscris – Am

– aprox. Am = lclp

• Dreptunghiularitatea = A/Am

– este 1 pentru dreptunghi

– este <1 pentru toate celelalte forme

APIM6 - 12

Masuratori ale formei obiectului (7)

• Elongatia = lb/sb

– sau A/t2, unde t este grosimea obiectului (se poate obtine prin

erodare)

Page 4: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

4

APIM6 - 13

Masuratori ale formei obiectului (8) • Curbura

– unghiul dintre liniile care se intersecteaza pe frontiera in punctul i, linii ce pornesc din al n-lea pixel de pe frontiera de o parte si de alta a pixelului i

– curbura globala a obiectului= cs/ct, unde ct este numarul de pixeli de pe frontiera obiectului si cs numarul de pixeli unde curbura depaseste o anumita valoare de prag

– creste n -> scade sensitivitatea curburii locale

APIM6 - 14

Masuratori ale formei obiectului (9)

• Energia constrictoare - un alt mod de ingloba curbura

locala intr-o valoare globala

– unde l este perimetrul si α este unghiul definit pentru curbura

APIM6 - 15

Exemple

Cercuri de doua

dimensiuni -> aria Cercuri si elipse ->

excentricitatea

Elipse orientate in

doua directii ->

orientarea celei mai

lungi corzi

APIM6 - 16

Exemple

Cercuri si patrate ->

dreptunghiularitate sau

compactitate

Patrate si octogoane ->

dreptunghiularitate sau

compactitate

Page 5: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

5

APIM6 - 17

Masuratori bazate pe schelet (1) • Pana acum masuratorile au fost efectuate luand in

considerare pixelii de pe frontiera obiectului

• Se pot face masuratori utilizand scheletul si functia quench

• Numarul de goluri (h) dintr-un obiect:

– unde: b – numarul de ramuri

e – numarul de puncte finale

APIM6 - 18

Masuratori bazate pe schelet (2)

h=1+(b-e)/2 -> e=2+b-2h;

e =2

e= 2 + b

e = 2 + b – 2h

APIM6 - 19

Masuratori bazate pe schelet (3) • Grosimea obiectului –data de functia quench

– functia quench -> metoda scheletului pe baza sferelor maxime -> discontinuitati si ramnificari false -> util. subtierii

APIM6 - 20

Transformata distanta • Asociaza fiecarui pixel al obiectului distanta sa pana

la cel mai apropiat pixel al fundalului

Imaginea Transformata sa distanta euclidiana

Page 6: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

6

APIM6 - 21

Transformata distanta (2) • in general se utilizeaza doar numere intregi ->

distanta Manhattan

AB = 3

CD = 4

CE = 5

DE = 9

APIM6 - 22

Transformata distanta (3) • Transformata distanta a unui obiect dintr-o imagine

binara f este o suma de eroziuni cu elementul structural ’+’ de 3x3:

– unde n este suficient de mare astfel incat εn(f) sa fie o imagine goala

APIM6 - 23

Transformata distanta (4)

APIM6 - 24

Transformata distanta (5) • utilizarea eroziunii este ineficienta

• exista mai multi algoritmi

• un algoritm in doi pasi:

– se seteaza valorile pixelilor fundalului la 0 si valorile pixelilor obiectului la ;

– se parcurge imaginea de la stanga la dreapta si de sus in jos si se inlocuieste valoarea fiecarui pixel (x,y) cu valoarea:

v(x,y) = min{ v(x-1,y-1)+2, v(x,y-1)+1, v(x+1,y-1)+2, v(x-1,y)+1, v(x,y) };

– se parcurge imaginea de la dreapta la stanga si de jos in sus si se inlocuieste valoarea fiecarui pixel (x,y) cu valoarea: v(x,y) = min{v(x,y), v(x+1,y)+1,

v(x-1,y+1)+2, v(x,y+1)+1, v(x+1,y+1)+2};

Page 7: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

7

APIM6 - 25

Transformata distanta (6) • uneori in loc de +1 si +2 se utilizeaza alte valori

(de ex. 3 si 4) daca se cere o aprox. mai buna a distantei euclidiene

• se pot utiliza urmatoarele nuclee

• inlocuirea se face direct in imagine si calculul valorii urmatorului pixel se face pe baza noii valori a pixelului anterior

APIM6 - 26

Exemplu

APIM6 - 27

Exemplu

Imaginea originala Transformarea ei

distanta

Scheletul obtinut

APIM6 - 28

Exemplu

Inmultirea transformatei

distanta cu scheletul

Transformata

distanta Scheletul obtinut

Page 8: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

8

APIM6 - 29

Masuratori pe baza momentului (1)

• intr-o imagine binara aria este:

• coordonatele medii ale obiectului (coordonatele centrului de greutate sau centroidul) sunt:

APIM6 - 30

Exemplu

APIM6 - 31

Masuratori pe baza momentului (2)

• momentul de ordin p al functiei f(x):

• pentru 2D momentul de ordin p+q al functiei f(x,y):

• pentru o imagine f(x,y):

APIM6 - 32

Masuratori pe baza momentului (3) • pe baza definitiei momentului:

• momentul central μpq al functiei f(x,y):

• momentul central de ordinul doi ->axa momentului de inertie (echivalenta cu axa lungime a obiectului)

Page 9: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

9

APIM6 - 33

Masuratori pe baza momentului (4) • excentricitatea:

• exemplu

APIM6 - 34

Exemplu

APIM6 - 35

Exemplu

APIM6 - 36

Determinarea dreptunghiului circumscris • o buna aproximare este dreptunghiul orientat dupa

unghiul θ definit anterior:

–schimbam sistemul de coordonate;

– cautam pixelii unde x' sau y' au valori maxime sau minime.

Page 10: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

10

APIM6 - 37

Determinarea elipsei circumscrise • Centrul elipsei este in centrul de masa al obiectului

si axa sa cea mai lunga este aliniata cu θ:

–Excentricitatea:

APIM6 - 38

Momentele valorilor de gri Momentul mpq:

si momentul central μpq al functiei f(x,y):

au aceleasi ecuatii, apare doar suma ponderata a valorilor lui f(x,y)

APIM6 - 39

Exemplu

APIM6 - 40

Momentele valorii de gri (2) • Pot fi calculate in doua moduri:

– aplicand direct formulele momentului asupra imaginii

– utilizand un model hibrid binar/gri

Page 11: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

11

APIM6 - 41

Momentele valorii de gri (3) • Utilizate la localizarea pozitiei exacte a unor

spoturi neclare datorita achizitiei imaginii

APIM6 - 42

Masuratori globale ale obiectelor • este util sa obtinem masuratori ce caracterizeaza la nivel

global obiectele dintr-o imagine

• cel mai simplu este sa obtinem masuratori individuale pe

care sa le compunem

• aria medie a unui obiect:

• eroarea medie patratica a ariei:

APIM6 - 43

Masuratori globale ale obiectelor (2)

• histograma masuratorilor -> examinarea distributiei statistice

Histograma

rectangularitatii

Histograma

excentricitatii

APIM6 - 44

Masuratori globale ale obiectelor (3)

• uneori nu e necesara obtinerea unor masuratori

individuale

• ex. distributia dimensionala a obiectelor

granulometria deschiderilor extinderea curbei (x pixeli in 103) cu inchiderile

Page 12: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

12

APIM6 - 45

Masuratori globale ale obiectelor (4)

• ex. determinarea orientarii obiectelor

– determinarea imaginii modulului transformatei Fourier

– determinarea elipsei circumscrise obiectului din

imaginea Fourier -> orientarea axei lungi a elipsei

– mai putine calcule

• multe posibilitati -> dependente de aplicatii

APIM6 - 46

Numararea obiectelor

• Pentru imagini binare (f(x,y)=1 pentru pixelii (x,y) apartinand obiectului: 1. se seteaza numarul de obiecte la 0

2. se parcurge imaginea pana cand se intalneste un pixel care apartine unui obiect (f(x,y)=1)

– se incrementeaza numarul de obiecte cu 1

– se determina toti pixelii conectati cu pixelul (x,y)

– se sterge obiectul din imagine setand pixelii la 0

3. se continua parcurgerea imaginii (pasul 2) pana se ajunge la sfarsitul imaginii

APIM6 - 47

Numararea obiectelor (2)

• exemplu:

nr.de ob.=0 nr.de ob.= nr.de ob+1 cont. verificarea imag.

APIM6 - 48

Numararea obiectelor (3)

• un algoritm alternativ:

1. se aplica eroziunea finala asupra imaginii initiale f

2. daca este necesar se reduc markerii la puncte

izolate (prin subtiere); Imaginea obtinuta g contine

atatea obiecte izolate cate obiecte au fost in

imaginea initiala f

3. se numara punctele izolate din g: g(x,y)

Page 13: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

13

APIM6 - 49

Numararea obiectelor (4)

• alg. original modificat-> permite asocierea unei etichete fiecarui obiect: 1. se seteaza numarul de obiecte la 0

2. se parcurge imaginea pana se intalneste un pixel care apartine unui obiect (f(x,y)=1)

– se incrementeaza numarul de obiecte cu 1

– se determina toti pixelii conectati cu pixelul

– se seteaza toti pixelii obiectului la valoarea nr.de ob.+1

3. se continua parcurgerea imaginii (pasul 2) pana se ajunge la sfarsitul imaginii

APIM6 - 50

Numararea obiectelor (5)

• dupa aplicarea alg. modificat obiectele vor fi

numerotate {2,…, n+1}

• selectarea unui obiect i pentru masuratori =

selectarea tuturor pixelilor care au valoarea i

APIM6 - 51

Obiecte care intersecteaza marginea

imaginii

• la efectuarea masuratorilor -> atentie la obiectele care intersecteaza marg. imag.

• tratare diferita, in functie de masuratoare – numarul de obiecte pe unitatea de suprafata -> nu se

numara ob. care intersecteaza marg. din dreapta si de jos a imaginii

– densitatea obiectelor -> raportul dintre aria obiectelor si cea a imaginii -> se considera toate obiectele

– masuratori de forma -> numai ob. care nu intersecteaza frontiera

APIM6 - 52

Obiecte care inters. marg. imag. (2)

• se ia o imag mai mica -> toate obiectele care intersecteaza marg. stanga si sus a imag. mici

• obiecte care intersecteaza atat marg. stanga si sus a figurii orig cat si a fig. mici -> mas. neconcludente

Page 14: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

14

APIM6 - 53

Obiecte suprapuse

• genereaza masuratori incorecte

• numararea obiectelor suprapuse-> eroziuni

succesive -> separarea obiectelor

linia de separare

APIM6 - 54

Obiecte suprapuse (2)

• separarea obiectelor -> utila pentru eliminarea unor

deviatii introduse in masuratori

Imaginea imaginea+SKIZ

APIM6 - 55

Obiecte suprapuse (3)

• Segmentarea Watershed

APIM6 - 56

Obiecte suprapuse (4)

Page 15: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

15

APIM6 - 57

Obiecte suprapuse (4)

• Prin segmentare watershed unele obiecte care se suprapun

prea mult raman neseparate

APIM6 - 58

Distributia obiectelor

• asezarea obiectelor unele fata de altele:

– grupate

– uniform distribuite

– distribuite aleator

APIM6 - 59

Distributia obiectelor (2)

• histograma distantelor celui mai apropiat obiect:

– de la frontiera pana la frontiera

– de la centroid la centroid

• histograma:

– distante mici -> ob. grupate

– distante de o valoare fixa -> ob. uniform distribuite

– mai dispersata -> ob. distribuite aleator

APIM6 - 60

Distributia obiectelor (3)

• O aproximatie buna = transformata distanta a

scheletului fundalului -> distanta pana la cel mai

apropiat obiect = dublul transf. distantei unui ob.

Page 16: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

16

APIM6 - 61

Transformata Hough

• det. liniile dintr-o imagine

• spatiu (x,y), linie y=ax+b -> spatiu (a,b); o line in

spatiul (x,y) -> un punct in spatiu (a,b)

• nu pot modela liniile verticale

y=x si y= -0.5x+1 (1,0) si (-0.5, 1)

APIM6 - 62

Transformata Hough (2) • Algoritm:

– se creeaza o imagine goala H

– pentru fiecare pixel al obiectului determinam (a,b) corespunzator dreptei care trece prin pixel si marim valoarea lui H(a,b) pentru perechile respective (a,b)

• Alg. modificat: – selectam un set de valori discrete pentru a si b (ex. a

{0,0.1,0.2,0.3,…,100} si b {0,1,2,…100}

– se creeaza o imagine goala H

– pentru fiecare pixel p al obiectului pentru fiecare ai din set determinam b a.i. dreapta sa treaca prin pixel;rotunjim b la cea mai apropiata val din set, bj; H(ai,bj) = H(ai,bj)+1

APIM6 - 63

Transformata Hough (3)

APIM6 - 64

Transformata Hough (4) • in practica caract. liniilor prin a si b nu e eficienta –>

distanta de la centru la dreapta si unghiul sau fata de

abscisa

Page 17: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

17

APIM6 - 65

Transformata Hough (5)

• util. pentru detectarea laturilor drepte -> calculeaza

imaginea cu laturi si apoi alg.:

a) calc. imaginii cu laturi (de ex. Sobel)

b) binarizarea imag. folosind o val. de prag

c) aplicarea transformatei Hough pe imag. binarizata

d) localizarea maximului local in imag. transformata si calcularea liniilor corespunzatoare din imag. originala

APIM6 - 66

Transformata Hough (6)

APIM6 - 67

Transformata Hough (7)

• in imaginile in nuante de gri la valoarea lui H(a,b) se adauga

valoarea de gri a pixelului respectiv

• este o tehnica robusta <- insensibila la zgomot

APIM6 - 68

Extensia transformatei Hough • se pot detecta si alte forme parametrizate

• de ex. spatiul (x,y) -> spatiul cercurilor (a,b,r) unde

(a,b) este centrul cercului si r este raza lui:

(x-a)2+(y-b)2=r2 0r

1r

0 0( , )a b

1 1( , )a b

0 0( , )x y

Page 18: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

18

APIM6 - 69

Extensia transformatei Hough (2)

• algoritm asemanator:

– selectam un set de valori discrete pentru a, b si r

– se creeaza o imagine goala tridimensionala H(a,b,r)

– pentru fiecare pixel p al obiectului determinam a,b si r

din seturi a.i. cercul sa treaca prin pixel -> H(ai,bj,rj) =

H(ai,bj,rj) + 1

– se cauta maximele locale -> cercurile din imaginea

initiala

APIM6 - 70

Extensia transformatei Hough (3)

0r

1r

0 0( , )a b

1 1( , )a b

y

x

a

br

0r r

0 0( , )x y

0 0( , )x y

1 1( , )x y

1 1( , )x y

0 0 0( , , )a b r

APIM6 - 71

Extensia transformatei Hough (4) a

b

0r

1r

0 0( , )a b

1 1( , )a b

y

x

1r r

0 0( , )x y

1 1( , )x y

0 0( , )x y

1 1( , )x y

1 1 1( , , )a b r

APIM6 - 72

Reprezentarea obiectelor

• utila descrierea obiectelor atat in binar cat si intr-o reprezentare ce descrie marginile obiectului

• este o forma mai compacta a imag. originale

• retine toate informatiile legate de forma obiectului original

• skeletul impreuna cu functia quench este o alta reprezentare compacta a obiectelor

Page 19: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

19

APIM6 - 73

Coduri inlantuite

• o reprezentare a frontierelor obiectului

• algoritm:

1. se alege un pixel de pe frontiera ca punct de pornire

2. se cauta directia in care se afla pixelul vecin de pe frontiera

3. se considera acest pixel vecin ca pixel curent, daca pixelul este diferit de pixelul de pornire atunci se revine la pasul 2, daca pixelul este chiar pixelul de pornire atunci alg. se opreste

APIM6 - 74

Coduri inlantuite (2)

= o lista de 17 cifre -> 17 x 3 = 51 biti

APIM6 - 75

Coduri inlantuite (3)

= o lista de 22 cifre -> 22 x 2 = 44 biti

APIM6 - 76

Coduri inlantuite (4)

• conectivitate 4 pentru obiect -> conect. 8 pt. fundal

• conectivitate 8 pentru obiect -> conect. 4 pt. fundal

Page 20: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

20

APIM6 - 77

Coduri inlantuite (5)

• chiar si atunci cand pixelul obiectului are conectivitate 8 -> descriem frontiera exterioara utilizand 4 directii

APIM6 - 78

Coduri inlantuite (6) • un simplu lant {0,3,2,1} sau {3,2,1,0} sau

{2,1,0,3}

• compararea a doua obiecte: se roteste codul inlantuit astfel incat numarul format de toate cifrele sa fie minim

• utilizarea directiei relativa la directia anterioara: – aceeasi directie (0) – la stanga (1) – inapoi (2) – la dreapta (3)

{3,3,3,3} -> se scad valorile succesive {i,j} (j-i)%4 sau %8

APIM6 - 79

Coduri inlantuite (7) • Perimetrul:

– conectiv. 4 -> nr. de cifre din lant

– conectiv. 8 ->

• Aria: 1. seteaza A=0 si y=0 2. pentru fiecare cifra din lant:

– cifra=0 -> A=A-y – cifra=1 -> y=y-1 – cifra=2 -> A=A+y – cifra=3 -> y=y+1

APIM6 - 80

Coduri inlantuite (8) • Aria:

1. seteaza A=0 si y=0 2. pentru fiecare cifra din lant:

– cifra=0 -> A=A-y – cifra=1 -> y=y-1 – cifra=2 -> A=A+y – cifra=3 -> y=y+1

Page 21: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

21

APIM6 - 81

Coduri inlantuite (9) • Centrul de greutate:

1. seteaza suma=0, x=0 si val=0 2. pentru fiecare cifra din lant:

– cifra=0 -> x=x+1,val=val+(x-1/2) – cifra=1 -> suma=suma-val – cifra=2 -> val=val-(x-1/2), x=x-1 – cifra=3 -> suma=suma+val

3. x=sum/A APIM6 - 82

Coduri inlantuite (10) • Centrul de greutate:

1. seteaza suma=0, x=0 si val=0 2. pentru fiecare cifra din lant:

– cifra=0 -> x=x+1,val=val+(x-1/2) – cifra=1 -> suma=suma-val – cifra=2 -> val=val-(x-1/2), x=x-1 – cifra=3 -> suma=suma+val

3. x=sum/A

APIM6 - 83

Distanta fata de centrul de greutate • distanta fiecarui pixel fata de centrul de greutate

• caracterizeaza forma obiectului->comparatii

APIM6 - 84

Distanta fata de centrul de greutate(2)

Page 22: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

22

APIM6 - 85

Distanta fata de centrul de greutate(3)

•normalizare (valori

intre 0 si 1)

•pt. comparare -> se

deplaseaza graficul

pana cand minimul

global este localizat

la θ=0

APIM6 - 86

Distanta fata de centrul de greutate(4) • discretizarea -> obiectul este dependent de

orientarea sa

APIM6 - 87

Distanta fata de centrul de greutate(5) • pt. un unghi pot exista valori multiple

APIM6 - 88

Descriptori Fourier • pixelii de pe frontiera (x(k),y(k)) unde k=0,..,n-1

-> u(k)=x(k)+iy(k) -> descriptorii Fourier ai frontierei:

– unde v=0,..,n-1

• utilizati pentru comparatii

Page 23: Reprezentarea si analiza obiectelor - users.utcluj.rousers.utcluj.ro/~simona/apim/apim6_4p.pdf · – este 1 pentru dreptunghi – este

23

APIM6 - 89

Coduri “Run-length” • reprezentarea regiunilor (compresie)

• regiunile sunt compuse din randuri de pixeli -> codul este format din pixelul de start urmat de numarul de pixeli

• lungimea zonelor negre si albe

APIM6 - 90

Arbori cu 4 ramuri (quadtrees) • reprezentarea regiunilor (compresie si vizualizare)