witam
mam taki problem
potrzebuje napisac pewna funkcje..
najpierw napisze co mam:
jest sobie jakis obrazek, jest on czrno bialy - tylko pixele czarne i biale!!
obrazek jest zapisany w tablicy 2 wymiarowej
i teraz wlasnie potrzebna jest mi do tego pewna funkcja.. taka ktora znajdie na tym obrazku (w tej tablicy) figury - czyli polaczone ze soba czarne pixele (figury maja rozne kasztalny , mga byc neregularne, nie chodzi tu o rozpoznawanie jaka to figura, tylko zeby funkcja policzyla ile jest oddzielnych figur i ile ktora ma pixel)
no i teoretycznie jakos to nawet wymyslilem jak to zrobic, ale jednak nie potrafie tego na c++ przepisac!!
moze ktos ma jakas taka podoba funkcje,
bardzo byede wdzieczna za jakakolwiek pomoc!!
potrzebuje to jak najszybciej!!
z gory wszystkim wielkie dzieki!!!
0
0
hmm
jezeli kazdy czarny pixel ktory jest polaczony z innym bys <ort>wziął</ort> jako punkt o wspolrzednych x,y to mozna by sprobowac z algorytmem wyszukiawania otoczki do dalobyci konkretnykształt.... co do samego rozpoznawania co to za figura to pewnie musialbys uwzglednic ilosc wierzcholkow i katy jakie tworza miedzy soba...
0
Long ilefigur, ilepikseli
Policzpiksele (x,y) {
If pixel[x,y]==CZARNY
Ilepikseli++
Pixel[x,y]=BIALY
Policzpiksele(x-1, y-1)
Policzpiksele(x-1, y)
Policzpiksele(x-1, y+1)
Policzpiksele(x, y-1)
Policzpiksele(x, y+1)
Policzpiksele(x+1,y-1)
Policzpiksele(x+1,y)
Policzpiksele(x+1,y+1)
}
Main() {
Ilefigur=0
For x=0..maxx
For y=0..maxy
Ilepikseli=0
Policzpiksele(x,y)
If ilepikseli>0
Ilefigur++
Prin(ilefigur, ilepikseli)
}