Na początek zostanie pokazane jak wykonać szkieletyzację obrazu binarnego. Niestety poza szkieletem często dostajemy dodatkowe artefakty, których najchętniej byśmy się pozbyli. Służy do tego operacja usuwania gałęzi, która w przypadku Pandore nie najlepiej sobie radzi. Zobaczymy w jaki sposób można ten problem rozwiązać.
Konwersja obrazu
Test będzie przeprowadzony dla sztucznego obrazu, który przedstawia bliżej nieokreśloną strukturę połączonych elementów z dodatkowymi wypustkami.
Najpierw konwertujemy obraz do formatu Pandore.
pbmp2pan input.bmp ex1_i1.pan

Szkieletyzacja
Następnie uruchamiamy szkieletyzację. Na poniższym obrazie widzimy jej efekty. Można zauważyć, że poza właściwym szkieletem dostaliśmy sporo dodatkowych gałęzi, które po części pokrywają się z wypustkami, a po części zlokalizowane są w przypadkowych miejscach - głównie tam gdzie struktura ma nieregularną krawędź.
pskeletonization ex1_i1.pan ex1_i2.pan

Cieniowanie
Stosujemy operację cieniowania, aby upewnić się, że szkielet będzie miał grubość jednego piksela.
ppostthinning ex1_i2.pan ex1_i3.pan

Usunięcie gałęzi
Ta operacja, jak sama nazwa wskazuje powinna usunąć wszystkie artefakty i pozostawić tylko linie łączące się ze sobą i z krawędzią. Jednakże jej działanie nie jest do końca takie jak byśmy sobie tego życzyli.
Spróbujemy rozwiązać problem w inny sposób.
pbarbremoval 2 1 ex1_i3.pan ex1_i4.pan

Negatyw
Wykonujemy negatyw. W tym momencie obraz nie przedstawia już linii, a obiekty, rozdzielone przez te linie (przypomnienie: w analizie obrazu na obrazie binarnym kolor biały oznacza obiekty do analizy, a kolor czarny tło).
pinverse ex1_i4.pan ex1_i5.pan

Indeksacja obiektów
Każdemu rozłącznemu obszarowi nadajemy inną wartość. Pozwoli nam to patrzeć na nie jak na zupełnie niezależne obiekty.
plabeling 4 ex1_i5.pan ex1_i6.pan

Dylatacja
Powiększamy każdy obszar pasem o wartości jednego piksela. Można zauważyć, że w ten sposób straciliśmy granice pomiędzy obiektami.
pdilatation 0 1 ex1_i6.pan ex1_i7.pan

Wyznaczenie krawędzi
Rozdzielamy obiekty wprowadzając między nimi linie graniczne.
pboundary 4 ex1_i7.pan ex1_i8.pan

Maska
Powstały w ten sposób obraz będzie maską dla wyznaczonego w kroku trzecim szkieletu.
pand ex1_i3.pan ex1_i8.pan ex1_i9.pan

Pomimo tego, że przedstawione rozwiązanie dotyczy problemów związanych z analizatorem Pandore, to warto się z nim zapoznać, aby zobaczyć alternatywne metody usuwania gałęzi.