c++ grafika - allegro

0

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

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)
}

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