Szkieletyzacja 2. Rysunek 1.1. Siatka: a), b) h

Podobne dokumenty
Przetwarzanie obrazów wykład 7. Adam Wojciechowski

Reprezentacja i analiza obszarów

Reprezentacja i analiza obszarów

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 10 AiR III

Cyfrowe przetwarzanie obrazów. Dr inż. Michał Kruk

Filtracja nieliniowa obrazu

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 1

Operacje morfologiczne w przetwarzaniu obrazu

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Diagnostyka obrazowa

Przetwarzanie obrazów wykład 4

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 9 AiR III

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY TRZECIEJ NA ROK SZKOLNY 2011/2012 DO PROGRAMU MATEMATYKA Z PLUSEM

3. FUNKCJA LINIOWA. gdzie ; ół,.

Filtracja obrazu operacje kontekstowe

CECHY BIOMETRYCZNE: ODCISK PALCA

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Analiza obrazu. wykład 7. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

Metody komputerowego przekształcania obrazów

Analiza obrazów - sprawozdanie nr 3

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Krzywa uniwersalna Sierpińskiego

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik

Sortowanie topologiczne skierowanych grafów acyklicznych

Rozwiązywanie równań nieliniowych

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk

Diagnostyka obrazowa

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Zad.3. Jakub Trojgo i Jakub Wieczorek. 14 grudnia 2013

Kształcenie w zakresie podstawowym. Klasa 2

Pytania do spr / Własności figur (płaskich i przestrzennych) (waga: 0,5 lub 0,3)

Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE. Rozwiązania. Wartość bezwzględna jest odległością na osi liczbowej.

Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum

Aby opisać strukturę krystaliczną, konieczne jest określenie jej części składowych: sieci przestrzennej oraz bazy atomowej.

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Notatki przygotowawcze dotyczące inwersji na warsztaty O geometrii nieeuklidesowej hiperbolicznej Wrocław, grudzień 2013

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

ZESPÓŁ SZKÓŁ W OBRZYCKU

Aproksymacja funkcji a regresja symboliczna

Analiza obrazu. wykład 1. Marek Jan Kasprowicz Uniwersytet Rolniczy Marek Jan Kasprowicz Analiza obrazu komputerowego 2009 r.

WYKŁAD 12. Analiza obrazu Wyznaczanie parametrów ruchu obiektów

ROK SZKOLNY 2017/2018 WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY:

Analiza obrazów. Segmentacja i indeksacja obiektów

PODSTAWY > Figury płaskie (1) KĄTY. Kąt składa się z ramion i wierzchołka. Jego wielkość jest mierzona w stopniach:

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY DRUGIEJ

FRAKTALE I SAMOPODOBIEŃSTWO

Przekształcenia punktowe

FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE

Wymagania na poszczególne oceny w klasie II gimnazjum do programu nauczania MATEMATYKA NA CZASIE

Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Jeśli X jest przestrzenią o nieskończonej liczbie elementów:

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

8. TRYGONOMETRIA FUNKCJE TRYGONOMETRYCZNE KĄTA OSTREGO.

KLASA II TECHNIKUM POZIOM PODSTAWOWY PROPOZYCJA POZIOMÓW WYMAGAŃ

Przetwarzanie obrazów rastrowych macierzą konwolucji

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu.

KRYTERIA OCEN Z MATEMATYKI DLA UCZNIÓW KL. II GIMNAZJUM

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

Podstawowe własności grafów. Wykład 3. Własności grafów

Algebra liniowa z geometrią

Proste metody przetwarzania obrazu

Układy współrzędnych

Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/

Wymagania programowe z matematyki na poszczególne oceny w klasie III A i III B LP. Kryteria oceny

Przetwarzanie obrazu

Dane obrazowe. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Wymagania edukacyjne z matematyki

Wymagania edukacyjne z matematyki w XVIII Liceum Ogólnokształcącym w Krakowie, zakres podstawowy. Klasa druga.

podstawowe (ocena dostateczna) rozszerzające (ocena dobra) wyrażenia tekstowe dotyczące kwadratowych

Zajęcia nr. 3 notatki

9. OBRAZY i FILTRY BINARNE 9.1 Erozja, dylatacja, zamykanie, otwieranie

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY I GIMNAZJUM

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

Wymagania edukacyjne z matematyki dla klasy I gimnazjum wg programu Matematyka z plusem

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE II A ROK SZKOLNY 2013/ ZAKRES PODSTAWOWY

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

KRZYŻÓWKA Może być np. równoboczny lub rozwartokątny. Jego pole to a b HASŁO:

SPIS TREŚCI WSTĘP LICZBY RZECZYWISTE 2. WYRAŻENIA ALGEBRAICZNE 3. RÓWNANIA I NIERÓWNOŚCI

LUBELSKA PRÓBA PRZED MATURĄ 09 MARCA Kartoteka testu. Maksymalna liczba punktów. Nr zad. Matematyka dla klasy 3 poziom podstawowy

GEOMETRIA ELEMENTARNA

Przedmiotowy system oceniania

Kształcenie w zakresie podstawowym. Klasa 3

WYMAGANIA KONIECZNE - OCENA DOPUSZCZAJĄCA:

wymagania programowe z matematyki kl. III gimnazjum

Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza

Szczegółowe wymagania edukacyjne na poszczególne oceny dla klasy I gimnazjum

Filtrowanie tekstur. Kinga Laurowska

PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 3

Transkrypt:

Szkieletyzacja Jednymi z najważniejszych operacji w przetwarzaniu obrazów są przekształcenia morfologiczne, pozwalające na analizę kształtów elementów obrazu oraz ich wzajemnego położenia. Typowym przekształceniem z tej grupy jest szkieletyzacja, umożliwiająca wyodrębnienie osiowych punktów w analizowanym obrazie. Wykonywana na płaszczyźnie oznacza proces, który transformuje obraz wejściowy w reprezentację w postaci zbioru cienkich linii złożonych z odcinków i łuków. Algorytmy szkieletyzacji przeprowadza się głównie na obrazach binarnych, aczkolwiek istnieją również rozszerzenia niektórych algorytmów na obrazy w odcieniach szarości. Intuicyjnie szkielet rozumiany jest jako,,rama, do której zamocowane jest ciało. Jest zredukowaną reprezentacją obiektu, zawierającą główne jego cechy. Zasadniczo powinien umożliwiać odtworzenie oryginalnego obiektu. Na uproszczenie kształtu obiektu zwrócił już w 1967 roku uwagę Blum twierdząc, że problem ten można rozwiązać za pomocą,,wypalania trawy. Jeżeli obiekt będzie porośnięty równomiernie sucha trawą i na jego brzegach rozpali się równocześnie ogień, to miejsca spotkań,,fali ognia wyznaczą oś środkową obiektu, czyli jego szkielet. Blum w pracy,,a transformation for extracting new description of shape po raz pierwszy wprowadził pojęcie szkieletu dla obiektów graficznych. W ostatnich latach szkieletyzacja była przedmiotem ciągłych badań, w wyniku czego opracowano wiele metod. Badania skupiały się głównie nad zastosowaniem szkieletyzacji do rozpoznawania znaków, a także bardziej intuicyjnego rozpoznawania obiektów. Opracowano wiele algorytmów, które znalazły zastosowanie w medycynie, biometrii, ilościowej metalografii, automatycznej analizie części przemysłowych czy obwodów drukowanych. Innym ważnym zastosowaniem szkieletyzacji jest jej wykorzystanie w procesie wektoryzacji. Wektoryzacja ma na celu zastąpienie obiektów znajdujących się na obrazie rastrowym odpowiednią formą wektorową, tzn. współrzędnymi punktów i odcinkami lub krzywymi łączącymi te punkty. Przykładowo, jeśli obraz wejściowy składa się głównie z podłużnych obiektów i symboli posiadających pewną,,grubość, to po procesie szkieletyzacji uzyskujemy tylko szkielety, które posiadają grubość jednego piksela i zachowują kształt obiektu. Ciąg pojedynczych pikseli może następnie zostać zamieniony na odpowiednie równanie matematyczne opisujące jego przebieg.

Szkieletyzacja 2 Szkielet obrazu cyfrowego jest również wykorzystany w wielu aplikacjach do prostszej analizy strukturalnej. Reprezentacja szkieletowa pozwala na łatwiejsze uzyskanie cech topologicznych, jak punkty połączenia albo przecięcia, liczba i długość zakończeń. Ustalając odpowiednie kryteria można łatwiej i dokładniej przeprowadzić klasyfikację obiektów na podstawie ich szkieletu niż oryginalnego kształtu. Obraz cyfrowy Obraz najczęściej jest reprezentowany za pomocą siatki kwadratowej, składającej się z kwadratowych komórek ułożonych w kształcie szachownicy. Drugą rozważaną w literaturze siatką jest siatka heksagonalna, w której elementem podstawowym jest sześciokąt. Ma ona tę zaletę, że wszystkie komórki sąsiadujące z daną stykają się z nią w taki sam sposób. W siatce kwadratowej musimy natomiast rozróżniać, czy komórki stykają się bokami, czy rogami. Tradycyjnie jako podstawowa przyjmowana jest siatka kwadratowa. a) b) Rysunek 1.1. Siatka: a), b) h Definicja 1.1. Dwa elementy obrazu nazywane są bezpośrednimi sąsiadami (w skrócie b-sąsiadami), jeśli odpowiednie komórki mają wspólny bok, a niebezpośrednimi sąsiadami (w skrócie n-sąsiadami), jeśli komórki stykają się tylko w rogach. Pojęcie sąsiad odnosi się do obydwu typów. 3 2 1 4 0 5 6 7 Rysunek 2.2. Oznaczenia względnych położeń pikseli w stosunku do piksela

Szkieletyzacja 3 Warto zauważyć, że sąsiedzi o indeksach parzystych są b-sąsiadami, natomiast o nieparzystych n-sąsiadami. Definicja 1.2. Sąsiedztwo piksela. Istnieją dwa rodzaje sąsiedztwa: 4-sąsiedztwo i - sąsiedztwo. Na przykładzie rysunku 1.3 pokazane jest sąsiedztwo piksela. Piksele,, są -sąsiadami piksela i zwykle są oznaczane zbiorowo jako (), natomiast piksele,,!, " są 4-sąsiadami (b-sąsiadami) i oznaczane będą przez # (). a) b) $ $ # % # %! & " & Rysunek 3.3. Sąsiedztwo piksela : a) (), b) # () Od ustalenia sąsiedztwa między pikselami zależy określenie rodzaju spójności lub konturu zbioru. Definicja 1.3. Sekwencja punktów,,, ' nazywana jest -drogą lub 4-drogą, jeżeli () jest -sąsiadem lub 4-sąsiadem piksela (, * =1,2,, 1. Przykładowe drogi pokazano na Rysunku 1.4. a) b) Rysunek 1.4. a) 4-droga: każdy kolejny piksel jest 4-sąsiadem poprzedniego, b) -droga: każdy kolejny piksel jest -sąsiadem poprzedniego. Definicja 1.4. Podzbiór - obrazu. jest -spójny lub 4-spójny, jeśli dla każdej pary punktów (, / w - istnieje -droga lub 4-droga z ( do / składająca się z punktów w -. Wtedy podzbiór - nazywany jest -składową lub 4-składową obrazu.. a) b)

Szkieletyzacja 4 Rysunek 1.5. Zbiory spójne: a) zbiór 4-spójny, b) zbiór -spójny Definicja 1.5. Brzeg zbioru płaskiego na płaszczyźnie analogowej, to zbiór wszystkich punktów mających tę własność, że niezależnie od tego, jak małe ich sąsiedztwo rozważymy, zawiera ono zarówno punkty znajdujące się wewnątrz, jak i na zewnątrz zbioru. Pojęcie brzegu używamy jedynie w odniesieniu do płaszczyzny ciągłej. W przypadku płaszczyzny dyskretnej pojęcie brzegu obiektu nie jest tak oczywiste. Warto więc zarezerwować pojęcie konturu dla płaszczyzny dyskretnej. Na ogół pod pojęciem konturu rozumie się drogę zamkniętą, która jest utworzona przez piksele leżące na brzegu obiektu. W zależności od przyjętego rodzaju sąsiedztwa pikseli konturu rozróżniamy -kontur i 4-kontur. a) b) Rysunek 1.6. Kontur obiektu (zaznaczony na szaro): a) 0 123456, b) 7 123456 Definicja 1.5. Kontur lub -kontur spójnego zbioru - elementów jest definiowany jako zbiór wszystkich elementów obrazu w zbiorze -, mających przynajmniej jednego 4-sąsiada spoza -. Zbiór wszystkich elementów obrazu należących do -, mających przynajmniej jednego -sąsiada nie należącego do - jest 4-konturem. Przykłady obu typów konturów przedstawia Rysunek 1.6. Mówiąc prościej, -kontur i 4-kontur muszą tworzyć sekwencję punktów o właściwościach pokazanych na Rysunku 1.4. Ponadto z Rysunku 1.6b widać, że 4- kontur daje -spójne wnętrze i odpowiednio -kontur daje 4-spójne wnętrze.

Szkieletyzacja 5 Szkielet obrazu Przy rozwiązywaniu problemów ścieniania obszaru istotna jest właściwa definicja linii cienkich. Ściśle topologicznie określa się cienkie krzywe jako niepuste zbiory mające puste wnętrze, co oznacza, że wszystkie punkty tych krzywych należą również do ich brzegu. Definicja 1.6. Krzywą lub obszarem liniowym na siatce dyskretnej jest zbiór elementów obrazu taki, że wszystkie z nich należą również do konturu zbioru. Definicja ta dopuszcza możliwość zbiorów o grubości równej dwa: Rysunek 1.7. Zbiór cienki Algorytmy ścieniania umożliwiają upraszczanie formy obrazów. Matematyczną definicję ścieniania na płaszczyźnie analogowej można przedstawić następująco: Definicja 1.7. Niech R będzie zbiorem punktów na płaszczyźnie, B jego brzegiem, a P punktem należącym do R. Najbliższym sąsiadem punktu P na brzegu B jest punkt M należący do B taki, że nie istnieje inny punkt należący do B, którego odległość od punktu P jest mniejsza od odległości PM. Jeżeli punkt P ma więcej niż jednego sąsiada, to P nazywamy punktem szkieletowym zbioru R. Zbiór wszystkich punktów szkieletowych jest szkieletem lub osią środkową zbioru R. Z powyższej definicji wynika, że punkty szkieletowe są środkami okręgów zawartych całkowicie w zbiorze R, przy czym nie ma innego okręgu o tym samym środku i większym promieniu, zawartego w zbiorze R. Ilustruje to Rysunek 1.: Rysunek 1.. Szkielet obiektu

Szkieletyzacja 6 Na płaszczyźnie dyskretnej nie jest łatwo wyjaśnić pojęcie osi środkowej, ponieważ trudno zdefiniować równość odległości na siatce dyskretnej. Jednym ze sposobów jest rozszerzenie definicji 1.6 na płaszczyznę dyskretną poprzez zdefiniowanie dyskretnego okręgu. Sposób taki wymaga dużej liczby obliczeń i nie jest używany. Algorytmy ścieniania budowane w oparciu o siatkę dyskretną wykorzystują pojęcie powtarzalnych pikseli obrazu. Definicja 1.. Piksel jest powtarzalny, jeżeli spełnia przynajmniej jeden z trzech warunków: jest przeglądany więcej niż raz w trakcie znajdowania konturu, nie ma sąsiadów we wnętrzu obszaru, ma co najmniej jednego b-sąsiada z konturu, który nie sąsiaduje z nim w ciągu pikseli stanowiącym drogę opisującą kontur. Warunki występujące w definicji pikseli powtarzalnych można zastąpić żądaniem spełnienia przez ośmiopunktowe sąsiedztwo piksela p wzorców sąsiedztwa przedstawionych na Rysunku 1.. a) b) c) 0 0 9 9 9 0 0 2 z 0 2 2+ 9 9 Rysunek 1.9. Wzorce sąsiedztwa powtarzalnego piksela Na rysunku przyjęto następujące oznaczenia: 0 oznacza elementy nie należące do zbioru, 1 elementy wnętrza, 2 element konturu przeglądany tylko raz, 3 element konturu przeglądany więcej niż raz, cyfra z plusem elementy z wartością równą co najmniej danej cyfrze, w przypadku a) i b) każda grupa pikseli oznaczonych przez lub musi zawierać element niezerowy, w przypadku c) przynajmniej jeden z pikseli oznaczonych przez musi być niezerowy; jeśli obydwa piksele oznaczone przez z są niezerowe, to piksele oznaczone przez i 9 mogą mieć dowolną wartość; w przeciwnym przypadku co najmniej jeden piksel każdej pary oznaczonej przez x lub y musi być niezerowy.

Szkieletyzacja 7 Sprawdzanie, czy element obrazu jest powtarzalny wymaga badania jedynie jego bezpośredniego sąsiedztwa. Ważną role spełnia tu założenie, że można określić dla każdego zbioru te szkieletowe elementy obrazu, które będą zachowane oraz te, które nie są szkieletowe i mogą być odrzucone. Można o tym zdecydować nie wiedząc, czy element obrazu należy, czy nie należy do konturu, ponieważ każdy taki element obrazu ma b-sąsiada o wartości. Definicja 1.7. Szkieletem zbioru - elementów obrazu jest zbiór wyznaczony w następujący sposób. Na początku w zbiorze - należy określić powtarzalne (inaczej szkieletowe) i konturowe elementy obrazu. Następnie usuwa się wszystkie konturowe elementy obrazu, które nie są szkieletowymi, po czym otrzymanym w ten sposób zbiorem zastępuje się zbiór -. Proces ten jest powtarzany aż do momentu uzyskania zbioru zawierającego jedynie szkieletowe elementy obrazu. Szkielet obiektu jest to zbiór, który otrzymujemy w wyniku cyklicznego odrzucania pikseli konturu nie będących pikselami powtarzalnymi. Tak więc szkielet jest zbiorem pikseli powtarzalnych. Na Rysunku 1.7 pokazane zostały przykłady szkieletów. Szkielety obiektów cienkich dostarczają istotnej informacji o kształcie tych obiektów. Nie dotyczy to obiektów grubych. a) b) Rysunek 1.10. Figury i ich szkielety otrzymane za pomocą algorytmu: a) Blum a (por. Rysunek 1.), b) KMM Poniżej przedstawiamy podstawowy algorytm ścieniania zapisany w pseudokodzie: repeat begin Krok 1: Wyznacz kontur :(-) zbioru -. Krok 2: Na podstawie :(-) wyznacz zbiór ;(-) złożony z elementów powtarzalnych.

Szkieletyzacja Oznaczenia: Krok 3: if :(-)= ;(-) then * else usuń elementy niepowtarzalne {zastąp zbiór - zbiorem - =:(-) ;(-)> } end {koniec algorytmu} :(-) - kontur zbioru -, ;(-) - zbiór powtarzalnych elementów konturu zbioru -. Istotnym pojęciem bezpośrednio związanym ze szkieletyzacją jest pojęcie łączności pikseli, które umożliwia wyznaczenie liczby pikseli nie należących do tła, z którymi jest połączony dany piksel. Informacja ta zapobiega podziałowi szkieletu na części. Miary łączności uwzględniaj sąsiedztwo piksela:?(3)?(2)?(1)?(4)?(0)?(5)?(6)?(7) Rysunek 4.11. Sąsiedztwo piksela Definicja 1.. Łączność piksela C (ang. connectivity) wyznaczana jest ze wzoru: @ = / D(?()?()?(+1)?(+2)), gdzie? ={0,2,4,6},?() są sąsiadami badanego piksela przy czym?()=?( ) dla >7, ()=0, jeśli k-ty sąsiad należy do tła oraz piksela: jeśli należy do obiektu: Na Rysunku 1. zaprezentowano piksele wraz z otoczeniem wraz z wartością łączności a) b) c) d) @ =1 @ =2 @ =3 @ =4 Rysunek 4.12. Przykładowe warianty sąsiedztwa piksela p policzyć C Drugi sposób obliczania łączności piksela polega na przeanalizowaniu ciągu sąsiadów?(0),?(1),?(2),?(3),?(4),?(5),?(6),?(7),?(0) i zliczaniu zmian z 0 na 1.

Szkieletyzacja 9 Przekształcenia morfologiczne Przekształcenia morfologiczne są punktem wyjścia do złożonych operacji, związanych z analizą kształtu elementów obrazu i ich wzajemnego położenia. Największą ich wadą jest duża złożoność obliczeniowa. Definicja 1.9. Podstawowym pojęciem przekształceń morfologicznych jest element strukturalny obrazu. Jest to pewien wycinek obrazu z wyróżnionym jednym punktem centralnym. Najczęściej stosowanym elementem strukturalnym jest koło o promieniu jednostkowym. W zastosowaniach jest to element oparty na siatce kwadratowej, z reguły o wymiarze 33: Rysunek 1.12. Element strukturalny na siatce kwadratowej. Każde przekształcenie morfologiczne polega na przeanalizowaniu całego obrazu piksel po pikselu przy pomocy wybranego elementu strukturalnego i podjęciu odpowiedniego działania w zależności od zgodności otoczenia analizowanego piksela z tym elementem. W przypadku pikseli brzegowych obrazu nie posiadających wszystkich sąsiednich pikseli stosowane są dwa podejścia: powiększenie obrazu przez dodanie tzw. sztucznego brzegu, którego wymiar jest uzależniony od wymiaru elementu strukturalnego, pominięcie pikseli brzegowych przy przetwarzaniu. W ogólnej postaci algorytm przekształcenia morfologicznego można zapisać następująco: 1. element strukturalny jest przemieszczany po całym obrazie i dla każdego punktu obrazu wykonywana jest analiza zgodności punktów obrazu i elementu strukturalnego przy założeniu, że badany punkt obrazu jest punktem centralnym elementu strukturalnego; 2. w każdym punkcie obrazu następuje sprawdzenie, czy rzeczywista konfiguracja pikseli obrazu w otoczeniu tego punktu jest zgodna ze wzorcowym elementem strukturalnym; 3. w przypadku wykrycia zgodności wzorca pikseli obrazu i szablonu elementu strukturalnego następuje wykonanie ustalonej operacji na badanym pikselu; najczęściej

Szkieletyzacja 10 jest to prosta zmiana koloru lub nasycenia jasności tego punktu, jednak w ogólnym przypadku można założyć wykonanie dowolnej operacji. Przeanalizowanie całego obrazu stanowi pojedynczą iterację. Przekształcane są tylko te piksele obrazu, których otoczenie jest zgodne z elementem strukturalnym, co pozwala na bardzo subtelne planowanie przekształceń. Zwykle iteracje powtarzane są dopóty dopóki wprowadzają jakiekolwiek zmiany w obrazie, ich liczba może zależeć również od efektu, jaki chcemy osiągnąć. 1.1.1 Transformacja Hit-and-Miss Transformacja Hit-and-Miss jest operacją pozwalającą wybrać piksele, które mają konkretne właściwości geometryczne. Transformacja ta jest realizowana jako poszukiwanie konkretnego wzorca w obrazie. Szczególnie dobrze nadaje się do wykrywania pewnych charakterystycznych punktów w obrazie, takich jak punkty izolowane, krawędziowe, narożniki i połączenia w kształcie litery I. Operacje morfologiczne używają elementu strukturalnego, który umożliwiał zbadanie punktów należących do obiektu. Dzięki wprowadzeniu nowego, mieszanego elementu strukturalnego : =(:,: $ ), gdzie : i : $ nie mają części wspólnej (: : $ = ), możliwe będzie zbadanie, czy pewne punkty nie należą do obiektu. Stąd te dwa elementy można przedstawić w postaci jednego wzorca, w którym poprzez wartość przedstawia się te piksele wzorca, które mają trafić w piksele obiektu o wartości, a poprzez te, które mają trafić w otoczenie. Transformację HMT obrazu L (ozn. M;I(L,:)) możemy zapisać jako M;I(L,:)={:: L *: $ L, } Jest to najogólniejsza transformacja w morfologii matematycznej. 1.1.2 Ścienianie i szkieletyzacja Ścienianie jest wspólną nazwą dla pewnego zbioru przekształceń morfologicznych, które prowadzą do uproszczenia przekształconego obiektu. Jest stosowane do obrazów binarnych. Jeżeli element strukturalny jest identyczny z sąsiedztwem analizowanego punktu wartość punktu jest zmieniana na (punkt tła), w przeciwnym razie wartość punktu pozostaje bez zmian. Operacja ta może być opisana za pomocą transformacji M;I.

Szkieletyzacja 11 Dla obrazu L i pewnej kompozycji elementu : =(:,: $ ) pojedynczy krok operacji ścieniania definiuje się w następujący sposób: śq* ** (L,:)=L M;I(L,:). Cały proces ścieniania można zatem wyrazić jako sekwencję operacji: L () =śq* ** =L (,:>, L % =L, * =0,1,2, przy czym proces ten kończy się wykonywać, kiedy przestają występować zmiany. Przy ścienianiu wykorzystywane są elementy strukturalne : postaci: 0 0 0 1 1 1 1 0 0 1 1 0 1 1 Rysunek 1.13. Elementy strukturalne R wykorzystywane przy ścienianiu, elementy S muszą pokrywać obiekt, elementy T tło, U oznacza dowolne wartości Dla osiągnięcia odpowiednich własności szkieletu element strukturalny jest obracany o 90, w wyniku czego otrzymujemy w sumie zbiór postaci : : $ : {:}={:,: $,:,,: } : # elementów strukturalnych: :! Rysunek 1.14. Elementy strukturalne dające szkielet w postaci 4-ścieżki. oznacza analizowany piksel, to dowolna wartość piksela. Aby otrzymać szkielet w postaci -ścieżki należy wykonać sekwencję jedną iterację: L () =śq* ** = (śq* ** (L (,: >,: $ ),: ), : ) : & : " : operacji na Operacja ta powtarzana jest do momentu, gdy nie będzie już powodować zmian w przetwarzanym obrazie. Przykład zastosowania podanych elementów strukturalnych przedstawia Rysunek 1.9.

Szkieletyzacja 12 a) b) c) d) A e) po : f) po : $ g) po : h) po : # i) po :! j) po : & k) po : " po : po : po :

Szkieletyzacja 13 Rysunek 1.13. Przykład ścieniania przy użyciu elementów strukturalnych z Rysunku 1.: a) zbiór wejściowy X, b) wynik ścieniania po zastosowaniu R S, c - i) wyniki po zastosowaniu następnych siedmiu elementów, j k)wyniki drugiej serii. Rysunek 1.9a przedstawia zbiór L, Rysunek 1.9b zbiór L w pierwszym kroku ścienienia elementem strukturalnym :, natomiast Rysunek 1.9c przedstawia wynik po ścienianiu elementem : $. Po zastosowaniu ostatniego elementu : (Rysunek 1.9i) proces rozpoczyna się od początku. Końcowy wynik pokazany jest na Rysunek 1.9k i przedstawia szkielet obiektu w postaci 4-ścieżki. Jeżeli chcemy otrzymać -kierunkowy szkielet należy użyć innego zestawu elementów strukturalnych: 0 0 0 1 1 1 1 0 0 1 1 0 1 Rysunek 1.10. Elementy strukturalne, które tworzą szkielet w postaci -ścieżki (elementy S muszą pokrywać obiekt, elementy T tło, U oznacza dowolne wartości) i postąpić analogicznie jak w przypadku 4-kierunkowego szkieletu. Elementy strukturalne są również obracane o 90, w wyniku czego otrzymujemy w sumie zbiór strukturalnych postaci: : : $ : E:F=E:,: $,:,,: F : # :! : & nowych elementów Rysunek 1.11. Elementy strukturalne dające szkielet w postaci -ścieżki. oznacza analizowany piksel, to dowolna wartość piksela. : " :

Szkieletyzacja 14 1.12. a) Przykład zastosowania elementów strukturalnych z Rysunku 1.11 przedstawia Rysunek b) c) A po : po : $ d) e) f) g) po : h) po : # i) po :! j) po : & k) po : " l) po : po : po : # po : &

Szkieletyzacja 15 m) po : Rysunek 1.12. Przykład ścieniania przy użyciu elementów strukturalnych z Rysunku 1.11: a) zbiór wejściowy X, b) wynik ścieniania po zastosowaniu elementu R S, c - i) wyniki po zastosowaniu następnych siedmiu elementów, j m) wyniki drugiej serii. Rysunek 1.12a przedstawia zbiór L, Rysunek 1.12b zbiór L w pierwszym kroku ścienienia elementem strukturalnym :, natomiast Rysunek 1.12c przedstawia wynik po ścienianiu elementem : $. Po zastosowaniu ostatniego elementu : (Rysunek 1.12i) proces rozpoczyna się od początku. Końcowy wynik pokazany jest na Rysunek 1.12m i przedstawia szkielet obiektu w postaci -ścieżki. a) b) c) Rysunek 1.13. Szkieletyzacja wykonana metodą HMT, a) obraz oryginalny, b) szkielet 4-kierunkowy, c) szkielet -kierunkowy Szkielet -kierunkowy jest bardziej regularny i symetryczny niż 4-kierunkiwy i zwykle posiada mniej odgałęzień. Szkielet będący 4-ścieżką można łatwo zamienić na -ścieżkę po zastosowaniu algorytmu z elementami strukturalnymi z Rysunku 1.9. Konwersję -ścieżki na 4-ścieżkę otrzymuje się za pomocą tzw. diagonalnego uzupełnienia pikseli, polegającego na dodawaniu minimalnej liczby pikseli do szkieletu obiektu w taki sposób, aby z -ścieżki powstałą 4-ścieżka.

Szkieletyzacja 16 Obcinanie gałęzi Proces szkieletyzacji może wprowadzić do obrazu pewne zakłócenia w postaci bocznego,,gałązkowania linii szkieletu. W praktyce jest to zależne od regularności brzegu figury. Każda, nawet niewielka nieregularność powoduje powstanie dodatkowego, niepotrzebnego odgałęzienia wynikowego szkieletu. Takie zbyteczne odnogi mogą powstawać również w dość regularnych figurach, które są nachylone pod niewłaściwym kątem do siatki. Aby usunąć tego typu zakończenia można zastosować algorytm,,obcinania gałęzi. Polega on na stopniowym redukowaniu odcinków posiadających wolne zakończenie. W ostateczności pozostają jedynie zamknięte pętle i odcinki przecinające brzeg obrazu. Zazwyczaj jednak algorytm ten przeprowadza się w ograniczonym stopniu, zależnym od ilości przeprowadzonych iteracji. Obcinanie krawędzi ma jedną ważną wadę w omawianym zastosowaniu. Skraca ono zarówno gałęzie niepotrzebne, wynikające z procesu szkieletyzacji, jak i te potrzebne, oznaczające fragmenty obiektu. Algorytm obcinania gałęzi może być realizowany jako ścienianie przy elementach strukturalnych pokazanych na Rysunku 1.15. 0 0 1 0 0 0 0 0 0 1 0 0 0 0 Rysunek 1.15. Elementy strukturalne, których użycie pozwala usunąć boczne gałązkowanie a) b) c) Rysunek 1.16. Algorytm obcinania gałęzi a) obraz przed szkieletyzacją, b) obraz po szkieletyzacji, c) obraz po obcinaniu gałęzi

Szkieletyzacja 17 Przy ocenie algorytmów szkieletyzacji ważna jest ich zgodność z pojęciem szkieletu analogowego. Często wprowadzane są dodatkowe kryteria pozwalające ocenić dany algorytm: dla spójnego kształtu obiektu szkielet powinien być,,spójny, szkielet powinien być maksymalnie,,osiowy, tzn. powinien w każdym miejscu zapewniać lokalną oś symetrii danego kształtu, szkielet powinien być odwracalny, tzn. powinna istnieć możliwość odtworzenia kształtu na podstawie jego szkieletu, powinna istnieć możliwość wykonania na szkielecie operacji pozwalających na uzyskanie informacji o strukturze badanego kształtu, definicja szkieletu powinna łatwo dać się adaptować w przestrzeni dyskretnej. Algorytm Theo Pavlidis a W większości algorytmów ścieniania jako szkieletowe elementy obrazu traktowane są elementy, które odpowiadają wzorcom z Rysunku 1.9, sekcja 1.2. Elementy te spełniają kryterium spójności. Jeżeli warunek spójności będzie sprawdzany sekwencyjnie w obrazie, to obszar jednospójny skurczy się do pojedynczego elementu obrazu. Sytuacji takiej można uniknąć, badając elementy obrazu równolegle i rozszerzając definicję szkieletu 1.7 z sekcji 1.2 tak, aby element obrazu oznaczony jako szkieletowy podczas jednego przebiegu nie mógł być później wymazany. Usunięcie dowolnego ze środkowych elementów obrazu narusza warunek spójności, dlatego usuwane będą jedynie dwa końcowe elementy obrazu. Dodatkowo, by nie usunąć par elementów pokazanych na rysunku 1.7 łączone jest przetwarzanie równoległe i szeregowe. Sprawdzane są jednocześnie nie wszystkie konturowe elementy obrazu, ale jedynie te, których sąsiad jest równy 0, przy czym interesują nas piksele sąsiedztwa o indeksach 0, 2, 4 i 6.?[3]?[2]?[1]?[4].?[0]?[5]?[6]?[7] Rysunek 2.1. Sąsiedztwo punktu.

Szkieletyzacja 1 Wtedy linia o grubości 2 będzie ścieniona od grubości 1 i część elementów obrazu zostanie zachowana. W trakcie przetwarzania elementy obrazu ze ścienianego zbioru są oznaczone wartościami 2 lub 3 i podczas sprawdzania wzorców sąsiedztwa wartości te oznaczają obecność elementów obrazu. Rysunek 2.2 przedstawia stosowane wzorce sąsiedztwa piksela.. Wzorce te to wzorzec z Rysunku 1.9a) obrócony dodatkowo o 90 stopni oraz wzorzec z Rysunku 9.3b) obrócony dodatkowo o 90, 10 i 270 stopni: 0 0 9 9 9 [1 0 9 y 0 9 [2 0 x 9 0 [3 y 0 0 [4 0 y 0 [5 0 0 9 [6 Rysunek 2.2. Wzorce sąsiedztwa piksela. Przyjęto oznaczenie elementów obrazu wartościami 0 (tło) lub 1 (obiekt). Każda grupa pikseli oznaczona przez i 9 musi zawierać co najmniej jeden element różny od tła. Powyższe warunki można opisać przy wykorzystaniu sąsiedztwa piksela.: \S:?[0]=0 &?[4]=0 & (?[1] 0?Y2Z 0?Y3Z 0) & (?Y5Z 0?Y6Z 0?Y7Z 0)

Szkieletyzacja 19 \^:?[2]=0 &?[6]=0 & (?[3] 0?Y4Z 0?Y5Z 0) & (?Y0Z 0?Y1Z 0 \_:?Y7Z 0 )?Y4Z=0 &?Y6Z=0 & (?Y0Z 0?Y1Z 0?Y2Z 0?Y3Z 0?Y7Z 0) & (?Y5Z 0 ) \7:?Y2Z=0 &?Y4Z=0 & (?Y0Z 0?Y1Z 0?Y5Z 0?Y6Z 0?Y7Z 0) & \`: \a: (?Y3Z 0 )?Y0Z=0 &?Y2Z=0 & (?Y0Z 0?Y4Z 0?Y5Z 0?Y6Z 0?Y7Z 0) & (?Y1Z 0)?Y0Z=0 &?Y6Z=0 & (?Y1Z 0?Y2Z 0?Y3Z 0?Y4Z 0?Y5Z 0) & (?Y7Z 0) Algorytm Pavlidisa można zapisać następująco: {Procedure} Ścienianie(obraz wejściowy ) remain := true; {w obrazie są nieszkieletowe elementy} while (remain = true) do begin remain:=false; {sprawdzanie konturowych elementów obrazu -b-sąsiadów} for j := 0, 2, 4, 6 do begin for wszystkie piksele p obrazu I do begin if p = 1 and j-ty sąsiad = 0 then begin skel := false; for wszystkich wzorców W do begin if sąsiedztwo p odpowiada wzorcowi W then skel := true i wyjdź z pętli end if skel = true then p := 2; {szkieletowy element obrazu} else begin p := 3; {usuwalny element obrazu} remain := true; end end for wszystkich pikseli p obrazu I do if p = 3 then p := 0; {usuń piksel} end end end a) b)

Szkieletyzacja 20 Rysunek 5.3 Wynik działania algorytmu Theo Pavlidis a a) obraz binarny, b) obraz po szkieletyzacji Szkieletyzacja z wykorzystaniem mapy odległości Zgodnie z definicją Bluma szkielet obiektu opisany jest przez rozkład centrów maksymalnych dysków umieszczonych wewnątrz obiektu?. Konieczny i dostateczny warunek, że dysk : jest maksymalny w obiekcie? oznacza, że dysk : jest styczny z konturem? przynajmniej w dwóch punktach. Opisana technika zwana transformacją osi środkowej (ang. Medial Axis Transformation - MAT) generuje zbiór uporządkowanych par środków (współrzędnych) i promieni maksymalnych dysków. Tak więc algorytm MAT zachowuje całą informacje o obiekcie, którą poniżej można wykorzystać do rekonstrukcji obiektu. Idealny szkielet jest ciągły i ma zerową grubość. Natomiast w rzeczywistych przypadkach obiekty są zlokalizowane na siatce złożonej z pikseli, a to powoduje wiele problemów związanych z dyskretyzacją, np. szkielet nie musi przechodzić przez środki pikseli. Szkielety są czułe na lokalne zmiany konturu obiektu i nie ma gwarancji, że oś środkowa zachowa oryginalną topologię obiektu. Bardzo ciekawym algorytmem szkieletyzacji jest szkieletyzacja oparta o transformację odległości. Transformacja odległości (ang. distance transform) wiąże z każdym punktem obiektu? wartość odpowiadającą odległości do najbliższego punktu brzegowego? (lub najbliższego punktu nie należącego do?). W wyniku transformacji odległości powstaje mapa odległości, która pozwala na efektywne znalezienie maksymalnych dysków zawartych w obiekcie, i z której tak zwane,,lokalne maksima stanowią szkielet obiektu.

Szkieletyzacja 21 W celu uzyskania idealnego kształtu obiektu należy zastosować metrykę Euklidesa, definiowaną w następujący sposób: b =(*,c),(h,)>=d(* h) $ +(c ) $. Wyliczenie poprawnej euklidesowej mapy odległości nie jest problemem trywialnym. Metryka Euklidesowa nie spełnia wszystkich oczekiwań jeżeli mówimy o przestrzeni dyskretnej, gdyż wynikiem pierwiastkowania nie jest liczba całkowita. To z kolei uniemożliwia odnalezienie odpowiedniego piksela. Dodatkowo może ono być bardzo kosztowne obliczeniowo. Dlatego wiele algorytmów zastępuje miarę euklidesową prostszymi miarami odległości, które zmniejszają złożoność algorytmu, ale wprowadzają poważne odchylenia od prawidłowych odległości euklidesowych. Mapowanie odległości jest często używane w procesie przetwarzania obrazów. Zazwyczaj jest ono oparte na jednej z metryk: miara typu chess board (metryka szachowa), według której odległość między punktami jest -drogą, tzn. jest określana liczbą przesunięć króla na szachownicy i definiowana jest w następujący sposób: =(*,c),(h,)>=max ( * h, c ), miara typu city block (metryka miejska), która oblicza odległość według 4-drogi. Definiowana jest w następujący sposób: # =(*,c),(h,)>= * h + c, Oczywiście, zakładamy, że *,c,h, są liczbami całkowitymi w dwuwymiarowej prostokątnej przestrzeni. Stosowanie uproszczonych miar sprowadza się, że,,dyski mają kształt kwadratu, a otrzymany przy ich użyciu szkielet będzie znacznie różnić się od teoretycznej definicji. W ogólności centra maksymalnych dysków nie muszą się łączyć, ponieważ mamy do czynienia z dyskretnymi mapami. Weźmy pod uwagę binarny obraz z dwoma zbiorami pikseli? = zbiór ek, które symbolizują obiekt? = zbiór, które symbolizują tło Mapą odległości j (?) jest to taki obraz, że dla każdego piksela (*,c)k? jest odpowiedni piksel w j(?) gdzie

Szkieletyzacja 22 j(*,c)=min (Y*,cZ,? ), Czyli dla każdego piksela w? została przypisana wartość w j(?), która odpowiada odległości do najbliższego piksela w?. Oczywiście możemy zdefiniować podobną mapą odległości j(?) dla tła. Procedura obliczeniowa j:? >j(?) nazywa się odwzorowaniem odległości. Mapy odległości mogą być wykorzystane do różnych celów. Wśród nich są rozszerzenie lub zmniejszanie obiektów? (przez obcinanie j(? )/j(?)), budowa najkrótszych ścieżek między punktami, szkieletyzacja i obliczenie współczynnika kształtu. Do uzyskania mapy odległości stosuje się dwa zasadniczo różne algorytmy: sekwencyjne (rekurencyjne), równoległe. W sekwencyjnych algorytmach obraz jest skanowany a j (*,c) jest obliczane za pomocą wartości obliczonych z obecnego skanowania w sąsiedztwie, np. j (* 1,c)* j (*,c 1). Ostatecznym efektem jest to, że wartości odległości mogą rozprzestrzeniać się w całym obrazie podczas jednego skanowania. Takie algorytmy zostały po raz pierwszy przedstawione przez Rosenfeld i Pfaltz dla metryki #. W równoległych algorytmach sekwencyjne mapy odległości są generowane w następujący sposób:? j (?)=j j $ (j )=j $ j ' (j 'q )=j ' =j(?), gdzie każda obliczona wartość j / (*,c) w mapie j / zależy od sąsiedztwa, np. j /q (*,c), *,c 1, tylko w poprzednim j / mapy. Tak więc, dla każdej iteracji z j /q do j /, wartości mogą rozprzestrzeniać na odległość zgodną z wielkością sąsiedztwa. Fakt ten sprawia, że równolegle odwzorowanie mapy odległości jest dość powolne w porównaniu do algorytmów sekwencyjnych, chyba że fizycznie równoległa logika stosuje się na każdy piksel. Algorytm mapy odległości oparty o metrykę taksówkową Przed przejściem do algorytmu należy przyjąć następujące sąsiedztwo badanego piksela.

Szkieletyzacja 23 j(* 1,c 1) j(* 1,c) j(* 1,c+1) j(*,c 1) j(*,c) j(*,c+1) j(*+1,c 1) j(*+1,c) j(*+1,c+1) Rysunek 2.1. Sąsiedztwo piksela j(*,c) Obraz j jest dwuwymiarową tablicą z elementami j(*,c) 0 * ; 1, 0 c 1. Algorytm generowania mapy odległości oparty o metrykę taksówkową określa się w następujący sposób. Inicjacja: j(*,c)=(1) jeśli (*,c)k?, j(*,c)=(0) jeśli (*,c)k?, gdzie s jest największą liczbą całkowitą jaka może być przechowywana bez utrudnienia i gdzie? jest obiektem i? jest tłem w oryginalnym binarnym obrazie rozmiaru ;. Pierwsze skanowanie obrazu: for * =0,1,2,, 1, Drugie skanowanie obrazu: for c =0,1,2,,; 1, if( j(*,c) c ó 1 ) { } u**uvu = j(*,c 1), if(j(* 1,c)<u**uvu ) for * = 1, 2,,1,0, u**uvu = j(* 1,c) j(*,c)=u**uvu+1

Szkieletyzacja 24 for c =; 1,; 2,,1,0,, if(j(*,c)> 1 ) { } u**uvu = j(*,c+1), if(j(*+1,c)<u**uvu ) u**uvu = j(*+1,c), if(j(*,c)>u**uvu ) j(*,c)=u**uvu+1, Algorytm mapy odległości oparty o metrykę szachową Obraz j jest dwuwymiarową tablicą z elementami j(*,c) 0 * ; 1, 0 c 1. Algorytm generowania mapy odległości oparty o metrykę szachową określa się w następujący sposób. Inicjacja: j(*,c)=(1) jeśli (*,c)k?, j(*,c)=(0) jeśli (*,c)k?, gdzie s jest największą liczbą całkowitą jaka może być przechowywana bez utrudnienia i gdzie? jest obiektem i? jest tłem w oryginalnym binarnym obrazie rozmiaru ;. Pierwsze skanowanie obrazu: for * =0,1,2,, 1, for c =0,1,2,,; 1, if( j(*,c) c ó 1 ) { u**uvu = j(* 1,c 1), } if(j(* 1,c)<u**uvu ) u**uvu = j(* 1,c), if(j(* 1,c+1)<u**uvu ) u**uvu = j(* 1,c+1), if(j(*,c 1)<u**uvu ) u**uvu = j(*,c 1), j(*,c)=u**uvu+1

Szkieletyzacja 25 Drugie skanowanie obrazu: for * = 1, 2,,1,0, for c =; 1,; 2,,1,0,, if(j(*,c)> 1 ) { u**uvu = j(*,c+1), if(j(*+1,c 1)<u**uvu ) u**uvu = j(*+1,c 1), if(j(*+1,c)<u**uvu ) u**uvu = j(*+1,c), if(j(*+1,c+1)<u**uvu ) u**uvu = j(*+1,c+1), if(j(*,c)>u**uvu+1 ) j(*,c)=u**uvu+1, } Na Rysunku 3.1 przedstawione są mapy odległości prostych obrazów binarnych wykonane przy użyciu metryki szachowej i taksówkowej. a) b) c)

Szkieletyzacja 26 Rysunek 3.1 Zastosowanie metryki szachowej i taksówkowej. a) obraz źródłowy, b) mapa odległości z wykorzystaniem metryki szachowej, c) mapa odległości z wykorzystaniem metryki taksówkowej. a) b) c)

Szkieletyzacja 27 Rysunek 3.2 a) obraz binarny, b) mapa odległości z wykorzystaniem metryki szachowej, c) szkielet obiektu. a) b) c) Rysunek 3.3 a) obraz binarny, b) mapa odległości z wykorzystaniem metryki taksówkowej, c) szkielet obiektu.

Szkieletyzacja 2 Jak łatwo zauważyć wykorzystanie metryki szachowej do wyznaczenia mapy odległości a następnie szkieletu obiektu przynosi lepsze rezultaty dla obiektów dużych, grubych i złożonych z krótkich odcinków. Natomiast dla obiektów długich i cienkich należy użyć metryki taksówkowej, która pozwoli uzyskać znacznie lepsze wyniki. Otrzymane szkielety uproszczają formę obiektów, co w pewnych przypadkach można traktować jako metodę redukcji danych. Szkielety otrzymane przy użyciu opisanych metod stanowią jedynie aproksymację osi środkowej obiektu. Jakość tej aproksymacji zależy min. Od rozdzielczości sitaki. Otrzymany szkielet nie musi być ciągły i nie musi być cienki. Można na nim przeprowadzić dodatkowe operacje, które poprawią jego własności. Zastosowania Przekształcenia morfologiczne są podstawowym narzędziem analizy obrazów. Stanowią one jedną z najważniejszych operacji w komputerowej analizie obrazów. W ich skład wchodzi szkieletyzacja obrazów. Proces ten jest bardzo pomocny przy analizie obrazów RTG czy USG. Znajduje on również zastosowanie w procesie rozpoznawania odcisków palców czy w systemach do rozpoznawania numerów tablic rejestracyjnych. Szkieletyzacja obrazów znajduje się w procesach otaczających nas w codziennym życiu. W dzisiejszych czasach szkieletyzacja stosowana jest w prostych bazach danych, jak i w zaawansowanych programach ratujących ludzkie życie. Znalazła ona zastosowanie między innymi w takich dziedzinach jak: klasyfikacja cząsteczek na podstawie analizy kształtu, określenie orientacji podłużnych obiektów, rozdzielenie posklejanych obiektów, wyznaczenie linii środkowej szerszej linii, symulacja procesu rozrostu cząsteczek oraz tworzenia struktury ziarnistej, identyfikacja linii papilarnych. Natomiast analiza szkieletu daje możliwość następującym procesom analizy obrazów: klasyfikacja cząsteczek na podstawie ich kształtu, określenie klasyfikacji podłużnych obiektów, wyznaczenie linii środkowej szerszej linii, symulacja procesu rozrostu cząsteczek tworzenia struktury ziarnistej,

Szkieletyzacja 29 rekonstrukcja obrazu, rozpoznawanie znaków, analizę obrazów medycznych. Bardzo ważnym zastosowaniem szkieletyzacji jest jej udział w identyfikacji linii papilarnych. Obraz przedstawiający odcisk palca. W procesie tym obraz poddawany jest wstępnie binaryzacji czyli przekształceniu obrazu monochromatycznego w binarny, co daje zredukowaną ilość informacji. Przetworzony obraz binarny ma znacznie mniejsza pojemność, prze co wymaga mniejszych mocy obliczeniowych. Kolejnym etapem jest filtrowanie morfologiczne. Celem tego etapu jest usunięcie z grzbietów białych obiektów(dziur) powstałych w procesie binaryzacji. Zajmuje się tym specjalnie napisany algorytm z funkcją rekurencyjną, który znajduje białe obiekty ograniczone czarnymi liniami. Rysunek przedstawia obraz linii papilarny po procesie binaryzacji i zastosowaniu filtrów morfologicznych. Odcisk palca po binaryzacji. Kolejnym etapem jest szkieletyzacja obrazu. Jej wynikiem jest wyznaczenie szkieletu linii papilarnych, który powinien posiadać właściwości: szerokość 1 elementu, znajdować się w

Szkieletyzacja 30 środku linii papilarnych oraz zachować topologię obrazu. Operacja ta wyodrębnia osiowe punkty obrazu. Obraz po szkieletyzacji ma mniejszą pojemność oraz w pełni zawiera własności topologiczne. Odcisk palca po binaryzacji. Następnie szkielet linii papilarnych poddawany jest wektoryzacji, która wyznaczone wcześniej linie zastępuje odcinkami, punktami lub krzywymi, które łączą te punkty. Wyodrębnione w tym procesie minucje mają przypisane współrzędne i orientację. Dalej należy porównywać minucje z obrazu w bazie i obrazu pobranegoo w celu potwierdzenia zgodności. Obiekt poddany procesowi szkieletyzacji zamieniany jest na tzw. linię szkieletu, która doskonale odzwierciedla kształt obiektu. Linia szkieletowa obiektu jest podstawową cechą kształtu, którą wykorzystuje się przy rozpoznawaniu znaków. Dzięki szkieletyzacji przetwarzany znak posiada grubość jednego piksela ale bardzo dobrze odzwierciedla kształt obiektu, przez co dopasowanie poszukiwanego elementu do wzorca może być o wiele prostsze. Rysunek 4.4 przedstawia literę,,b przed i po szkieletyzacji. a) b) Szkieletyzacjaa litery,,b. a) przed szkieletyzacją, b) po szkieletyzacji.

Szkieletyzacja 31 Operacja rozpoznawania znaków jest wykorzystywana w procesie tablic rejestracyjnych na zdjęciach pochodzących z fotoradarów. identyfikacji numerów Innym bardzo ciekawym procesem, w którym ważną rolę odgrywa szkieletyzacja jest wektoryzacja obrazów. Wektoryzacja zastępuje obiekty znajdujące sięę na obrazie rastrowym na odpowiednia formę wektorową, tzn. na współrzędne punktów i odcinki lub krzywe łączące te punkty. Dla przykładu, jeśli obraz składa się głownie z podłużnych obiektów i symboli posiadających pewną grubość, to po procesie szkieletyzacji uzyskuje się tylko szkielety, które posiadają grubość jednego piksela i zachowują topologię kształtu obiektu. Następnie ciąg pojedynczych pikseli może zostać zamieniony na odpowiednie równanie matematyczne opisujące jego przebieg. Poniższy rysunek pokazuje obraz rastrowy po wykonaniu wektoryzacji. a) b) a) obraz rastrowy, b) obraz po wektoryzacji. W przeciwieństwie do grafiki rastrowej grafika wektorowa jest grafikąą w pełni skalowalną, co oznacza, iż obrazy wektorowe można nieograniczenie powiększać oraz zmieniać ich proporcje bez uszczerbku na jakości. Szkieletyzacja w rzeczywistości jest techniką przetwarzania obrazów o bardzo dużym znaczeniu aplikacyjnym. Przykładowym zadaniem praktycznym, w którym ważną rolę odgrywa szkieletyzacja jest zadanie analizy przebiegu głównego przewodu trzustkowego w obrazach ERCP, dzięki czemu można doszukać się wszelkiego rodzaju schorzeń, a także wykryć nowotwór. Poniższy rysunek przedstawia wykorzystanie szkieletu na obrazie ERCP.

Szkieletyzacja 32 Analiza przewodu trzustkowego w obrazie ERCP. Analiza obrazu poza wykrywaniem zwyrodnień i schorzeń wykorzystywana jest do analizy i modelowania obrazów trójwymiarowych na podstawie wyników tomografii komputerowej. Pozwala także na przeprowadzenie symulacji przebiegu leczenia. Analiza obrazów w oparciu o szkielet obiektu jest stosowana nie tylko w przetwarzaniu obrazów medycznych czy też kryminalistycznych. Jest ona szeroko stosowana w każdej dziedzinie życia.