Witam! :)
Muszę napisać algorytm do podziału obrazu jednobitowego (tylko 2 kolory) na n obrazów gdzie n równa się liczbie obiektów zawartych na tym obrazie.
Przykład:
Obraz źródłowy:
Obrazy wynikowe:
| |
Mój pomysł to wykorzystanie algorytmu do wypełniania obszaru. W pętli lecę po pikselach i jeśli znajdę jakiś czarny, to w tym miejscu odpalam ów algorytm wypełniania obszaru - z tym że oprócz zamiany tego obszaru na biały (tak aby zniknął i nie brał już udziału w dalszym wyszukiwaniu kolejnych obiektów) byłby również zapalany piksel w nowym obrazie o takich samych współrzędnych. W ten sposób jak gdyby przeniosę obiekt na drugi obraz.
Po zakończeniu działania algorytmu (po przeniesieniu obiektu) kontynuuję skanowanie pierwotnego obrazu (już bez tego obiektu) w poszukiwaniu kolejnego czarnego piksela. I tak do ostatniego elementu obrazu.
W efekcie powinienem uzyskać to, czego oczekuję. Jeszcze tego nie testowałem z braku sprzętu ale może znacie jakieś inne podejście - może lepsze, optymalniejsze, prostsze.
Będę wdzięczny za pomysły, przykłady, przemyślenia.
Całość ma powstać w Matlabie, ale jeśli ktoś chciałby podać jakiś kod, to będę wdzięczny za jakikolwiek język: PseudoJęzyk, C, Pascal - poradzę sobie :).