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