Autor Wątek: Obwody plam  (Przeczytany 4713 razy)

Offline rAum

  • Użytkownik
    • blog

# Luty 08, 2008, 19:04:46
Hmmm a jakby pokombinować z Scanline Flood Fill lub Boundary Fill?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline kedan

  • Użytkownik

# Luty 08, 2008, 20:06:13
Puśćmy wodze fantazji. Nie można zrobić tak?:

1. Dla palm o przekroju okrągłym: współrzędne pixela = współrzędne x,z na mapie; wartość rgb = obwód;

2. Dla palm o przekroju w kształcie "dziwnym":
- biały pixel = współrzędne palmy
- pixele inneg koloru = współrzędne wierzchołków figury będącej przekrojem np (* -pixel kolorowy, o - pixel biały):

             *
    *                    *
                 o               
  *                       
                        *
           *

Jeśli na bitmapie znajduje się więcej niż jedna palma:
- "pixele obwodu" kolejnych palm muszą mieć różne składwe RGB
- dla każdego białego pixela wyznaczanie najbliżej położonych (w tablicy) pixeli innego koloru
- z najbliżej położonych pixeli wyznaczanie pixeli o tym samym kolorze i oblicznie wierzchołków figury.

Offline Kos

  • Użytkownik
    • kos.gd

# Luty 08, 2008, 21:34:52
Czyli przez plamy rozumiemy po prostu grupy pikseli?

Dobra, trochę głupie rozwiązanie, ale może by zadowoliło:

*Niech nasz teren będzie bitmapą dowolnych rozmiarów, na której czarne piksele to tło, a białe to plamy.
*Dla każdego czarnego piksela - jeżeli spośród 4 (lub 3 lub 2 przy ścianach) pikseli sąsiadujących z nim przynajmniej jeden jest biały, zmieniamy kolor tego piksela na czerwony.
*Końcowa ilość czerwonych pikseli powinna dać przybliżoną wartość sumarycznego obwodu wszystkich plam, w pikselach.

Offline kedan

  • Użytkownik

# Luty 08, 2008, 22:47:58
Cytuj
*Dla każdego czarnego piksela - jeżeli spośród 4 (lub 3 lub 2 przy ścianach) pikseli sąsiadujących z nim przynajmniej jeden jest biały, zmieniamy kolor tego piksela na czerwony.

Też o tym myślałem, tylko wtedy przekrój miałby maksymalnie 8 wierzchołków. Chyba żeby biały pixel posadzić na zielonej plamie i czarne pixele sprawdzać z zielonymi ale to już chłopaki wcześniej pisali :)

//edit   plamy - palmy. źle przeczytałem LOL  ;D
« Ostatnia zmiana: Luty 08, 2008, 22:52:53 wysłana przez kedan »