C# i grafika

0

Problem wygląda następująco. Mam obrazek a w zasadzie jednolite tło, na którym znajdują się białe okrągłe plamki (powiedzmy 4). Chcę napisać aplikację, która określi współrzędne położenia tych plamek w przestrzeni xyz (współrzędna z na podstawie wielkości plamki). Tło będzie czarne + szum a plamki jasne. Chyba zacząć należałoby do konwersji obrazka do odcieni szarości albo nawet do obrazka dwukolorowego (czarny i biały). Niestety nigdy nie miałem nic wspólnego z grafiką. Czy można to łatwo zrobić w C#. Od czego mam zacząć, czy C# posiada jakieś wbudowane funkcje pozwalające na uproszczenie tego zadania (nie wiem czy dobrze mi się wydaje ale mam wrażenie, że przyda się jakaś transformata). Pewnie da się to zrobić brute-force poprzez zliczanie sąsiadujących ze sobą pikseli o jasności większej niż pewien próg ale to chyba nie jest najlepsze wyjście.

0

Zależy, zależy, zależy ... Pokazałbyś jak wyglądają owe plamki.
Szum jest w kolorze plam ? Jesli tak to zastosuj rozmycie, później konwersja na bitmape monochromatyczną (jakoś próg trzeba określić). A dalej to już brute force. Jakbyś chciał mam w c++ ulepszony flood-fill liczący dodatkowo wielkość i granice plamy.

No, ale może się okazać, że trzeba postępować inaczej. Pokaż przykładowe bitmapki.

0

Postaram się zamieścić przykładowy obrazek w najbliższym czasie. Wygląda to tak, że szum jest szary i blisko mu do czarnego a pamki też są szare ale blisko im do białego. Na oko wyłapanie plamek to żaden problem, kontrast jst bardzo duży. A za algorytm liczenia powierzchni plamki będę bardzo wdzięczny, gdyż też mi się przyda.

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