Oznaczanie krawędzi prostymi

0

Poszukuję algorytmu, który wyszuka w obrazku krawędzie jakiegoś obiektu, po czym opisze je za pomocą danej liczby prostych. Rozjaśnię może temat przykładem:

user image

Na rysunku a) widać nasz obrazek poczatkowy, który może być dowolną figurą geometryczną. Natomiast na rysunkach b) i c) jest obrazek przerobiony z kolejno 7 i 9 prostymi (chyba trochę niefortunnie zrobiłem to wypełnienie, algorytm oczywiście ma zwrócić współrzędne wierzchołków). Dla ułatwienia można przyjąć, że na obrazku znajduje się tylko jedna figura.

0

Domyślam się, że potrzebne jest Ci trasowanie... To nie jest prosta sztuka. Ociera to się już o rozpoznawanie obiektów :(
Mogę podać tylko bardzo naiwny algorytm:

  1. Przeszukujesz obraz w poszukiwaniu pikseli pasujących do któregoś wzroca:
    bb
    cc

cc
bb

cb
cb

bc
bc

bc
cb

cb
bc

  1. Starasz się rozszerzyć te algorytmy, o następne takie bloki nachodzące na stare.
    Czyli np. jeżeli mamy już:
    bb
    cc

To szukamy, takich pikseli, by otrzymać:
bbb
ccc

bbb
bbc
ccx

bbb
bcc
cxx

b - biały
c - czarny
x - dowolny (zależnie czy ma być pojedyncza linia, czy obszar ograniczający).

Całość bierze się stąd, że zwykle odcinki proste składają się z fragmentów:

bbb
bbb
ccc

bbb
bbc
ccb

bbb
bcc
cbb

bbc
bcb
cbb

Oraz odbitych względem y=x

Powodzenia...

1 użytkowników online, w tym zalogowanych: 0, gości: 1