Reprezentacja i analiza obszarów Reprezentacja i analiza obszarów

Transkrypt

Reprezentacja i analiza obszarów Reprezentacja i analiza obszarów
Reprezentacja i analiza obszarów
Cechy kształtu
Topologiczne
Geometryczne
• spójność
• obwód
• liczba otworów
• pole powierzchni
• liczba Eulera
• środek ciężkości
• szkielet
• ułożenie przestrzenne
• momenty wyższych rzędów
• promienie max-min
• centryczność
• inne współczynniki kształtu
• ...
1
Reprezentacja i analiza obszarów
Topologiczne cechy kształtów
• Topologiczne cechy kształtów to takie cechy, które są niezmienne
względem transformacji typu „rozciąganie gumy” (ang. rubber-sheet), tj.
przekształceń w których nie dopuszcza się cięcia płaszczyzny obszaru
oraz tworzenia połączeń między jej brzegami
• Spójność, liczba otworów oraz liczba Eulera są niezmiennymi cechami
topologicznymi
• Przykładowo odległość Euklidesowa nie jest cechą topologiczną,
ponieważ podlega zmianie przy rozciąganiu lub kurczeniu obszaru.
Podobnie obwód czy pole powierzchni
• Cechy topologiczne, oprócz cech geometrycznych, są zazwyczaj
dodatkowym opisem kształtu
2
Reprezentacja i analiza obszarów
• Spójność C obszaru
C=1
Obszar zawiera trzy spójne obiekty C=3
• Liczba otworów H
H=1
H=1
H=2
3
Reprezentacja i analiza obszarów
• Liczba Eulera E
– Liczba Eulera jest zależnością pomiędzy spójnością obiektu a jego liczbą
otworów
E=C-H
E=0
E=-1
E=1
• Szkielet obszaru
– Ważnym sposobem reprezentacji kształtu jest jego redukcja do linii zwanej
szkieletem obiektu (osią środkową). Szkielet wyznacza się za pomocą
algorytmów ścieniania (zwanych szkieletyzacją)
– Linia szkieletowa obiektu jest podstawową cechą kształtu którą wykorzystuje
się przy rozpoznawaniu znaków, granulometrii czy wektoryzacji obrazu
4
Reprezentacja i analiza obszarów
bs=bwmorph(bw,'skel',inf);
5
Reprezentacja i analiza obszarów
Cechy geometryczne
• Obwód – długość brzegu obszaru obiektu
– Dla siatki dyskretnej, rzeczywista długość brzegu nie jest liczbą punktów
brzegowych
1. Obwód obiektu równy liczbie elementów jego brzegu (metoda najprostsza,
ale wprowadza stosunkowo duży błąd estymatora wartości obwodu obiektu)
1
15 14
2
13
3
12
4
11
5
6
10
7
8
9
6
Reprezentacja i analiza obszarów
2. Obwód obiektu jest równy sumie długości odcinków łączących środki elementów
konturu. Przyjmuje się, że element konturu jest kwadratem o boku = 1
Metoda ta jest
dokładniejsza niż
metoda liczby punktów
brzegowych
7
Reprezentacja i analiza obszarów
3. Obwód obiektu wyznacza się na podstawie zależności
– liczba zewnętrznych boków punktów konturu
– liczba wierzchołków konturu
Metoda ta zapewnia estymator długości
o zerowej wartości średniej i minimalnej
wariancji dla odcinków nachylonych
pod różnym kątem
8
Reprezentacja i analiza obszarów
• Wyznaczanie (śledzenie) brzegu wewnętrznego obszaru
1.
2.
3.
4.
Przeszukuj obraz kolejno liniami, aż do znalezienia pierwszego punktu
obszaru. Oznacz ten piksel jako P0 (początkowy punkt brzegu). Zdefiniuj
zmienną dir zapamiętującą kierunek poprzedniego ruchu wzdłuż brzegu
(tj. od poprzedniego do następnego punktu brzegu).
Przyporządkuj dir=3 dla 4-sąsiedztwa
dir=7 dla 8-sąsiedztwa
Przeszukaj sąsiedztwo 3x3 aktualnego piksela obracając się przeciwnie
do ruchu wskazówek zegara, rozpoczynając od kierunku
a) dla 4-sąsiedztwa: (dir+3) mod 4
b) dla 8-sąsiedztwa: (dir+7) mod 8 gdy dir jest liczbą parzystą
(dir+6) mod 8 gdy dir jest liczbą nieparzystą
Pierwszy znaleziony punkt obszaru stanowi nowy element brzegu Pn.
Uaktualnij wartość dir.
Jeśli Pn= P1 i Pn-1 =P0, to stop. W przeciwnym razie idź do 2.
Brzeg wewnętrzny określają piksele P0,..., Pn-2
9
Reprezentacja i analiza obszarów
1
Kierunki dla
2
Kierunki dla
3
1
8-sąsiedztwa
4-sąsiedztwa
0
2
4
0
5
7
3
1
3
18 17
2
1
15 14
16 15
2
13
14
3
12
6
13
4
11
7
12
5
10 11
6
4
5
6
8
9
10
7
8
9
10
Reprezentacja i analiza obszarów
• Kody łańcuchowe (Freemana)
1
2
3
5
3
2
2
3
1
2
4
0
6
7
4
3
1
5
2
1
6
2
0
1
6
2
3
1
7
0
6
3
3
1
4
0
2
2
3
0
0
323303300011112122
2
0
0
0
566760002222344
11
Reprezentacja i analiza obszarów
• Sygnatury – jednowymiarowe funkcje odwzorowujące brzeg obszaru
(np. kod Freemana)
– Sygnatury opisujące brzeg jako odległość w funkcji kąta
[1]
Uzyskany opis jest inwariantny od skali i rotacji obiektu
12
Reprezentacja i analiza obszarów
• Momenty statystyczne dla obrazów cyfrowych
– Momenty geometryczne zwykłe
- liczba pikseli obszaru (pole powierzchni obiektu)
- współrzędne środka ciężkości
(przyjmuje się, że określają
położenie na obrazie)
– Momenty centralne
13
Reprezentacja i analiza obszarów
– Momenty centralne do 3 rzędu wyrażone za pomocą momentów zwykłych
Momenty te stanowią podstawę do wyznaczenia 7 momentów
niezależnych od przesunięcia, rotacji oraz skali
14
Reprezentacja i analiza obszarów
• Momenty Hu (niezmienniki względem przesunięcia, obrotu i skali)
– Znormalizowane momenty centralne
– Momenty Hu
15
Reprezentacja i analiza obszarów
• Centryczność można zdefiniować jako stosunek długości maksymalnej
cięciwy obiektu do maksymalnej długości cięciwy prostopadłej do niej
(niezależna od przesunięcia, rotacji i skali)
- pole powierzchni obiektu
16
Reprezentacja i analiza obszarów
• Współczynnik zwartości obiektu (kołowości) – jest miarą podobieństwa
kształtu obszaru do koła. Zwartość jest współczynnikiem
bezwymiarowym również niezależnym od liniowych transformacji
(przesunięcia, rotacji i skali)
17
Reprezentacja i analiza obszarów
• Promienie
są odpowiednio najdłuższymi i najkrótszymi
promieniami wyprowadzonymi ze środka ciężkości figury. Stosunek
może służyć jako miara wydłużenia figury (ang. Object aspect ratio)
18
Reprezentacja i analiza obszarów
• Okrąg opisany na obiekcie
- liczba punktów obiektu
19
Reprezentacja i analiza obszarów
• Prostokąt opisujący (minimalny prostokąt graniczny) – prostokąt o
najmniejszym polu powierzchni zawierający dany obiekt, przy czym kierunek
dłuższego boku prostokąta jest równoległy do kierunku wyznaczającego oś
najmniejszej bezwładności figury
- smukłość
20
Reprezentacja i analiza obszarów
• Określanie położenia i orientacji (kierunku) obiektów
– Położenie obiektu na obrazie określa się zwykle za pomocą współrzędnych
środka ciężkości obszaru
- liczba punktów obiektu
– Orientację wyznacza się dla obiektów smukłych. Jako orientację przyjmuje
się kierunek osi o najmniejszej bezwładności (co odpowiada kierunkowi
dłuższego boku prostokąta opisującego)
21
Reprezentacja i analiza obszarów
• Średnice Fereta
Ułożenie przestrzenne obiektu można wyznaczyć przez rzutowanie obiektu na
osie układu kartezjańskiego. Najdłuższą cięciwą (Fereta) jest odcinek łączący
najodleglejsze punkty brzegu figury
Alternatywna miara wydłużenia
- liczba punktów obiektu
22
Reprezentacja i analiza obszarów
• Zliczanie obiektów na obrazie
Detekcja krawędzi ?
Wykorzystanie erozji
i=imread('circles.png');
in=bwmorph(i,'erode',10);
[il,num]=bwlabel(in);
figure,imshow(in)
disp('Liczba obiektów:');num
23
Reprezentacja i analiza obszarów
• Zliczanie obiektów
odległościowej
na
obrazie
z
wykorzystaniem
transformacji
– Transformacja odległościowa (ang. distance transform)
Polega na sumowaniu kolejnych wyników pośrednich erozji obrazu
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
2
2
1
0
0
0
1
2
2
2
1
0
0
0
1
2
2
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
2
2
1
0
0
0
1
2
3
2
1
0
0
0
1
2
2
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
Transformacja odległościowa
s=[0 1 0; 1 1 1; 0 1 0];
in=uint8(ib);ib=uint8(ib);
for j=1:20
ib=imerode(ib,s);
in=in+uint8(ib);
end
24
Reprezentacja i analiza obszarów
– Transformacja odległościowa - przykład
Transformacja odległościowa
Binaryzacja
25