int find_cluster(Image *img, unsigned int i) { if(i < 0 || i > img->sizeX * img->sizeY*3 ) return 0; int k; if(!used[i/3] && !pixels[i/3]&& img->data[i]){ pixels[i/3] = 1; k= 1 + find_cluster(img, i+3) + find_cluster(img, i-3) + find_cluster(img, i+img->sizeX*3) + find_cluster(img, i-img->sizeX*3) + find_cluster(img, i-img->sizeX*3-3) + find_cluster(img, i-img->sizeX*3+3) + find_cluster(img, i+img->sizeX*3-3) + find_cluster(img, i+img->sizeX*3+3); k += find_cluster(img, i+6) + find_cluster(img, i-6) + find_cluster(img, i-img->sizeX*6) + find_cluster(img, i+img->sizeX*6) + find_cluster(img, i-img->sizeX*6-3) + find_cluster(img, i-img->sizeX*6+3)+ find_cluster(img, i+img->sizeX*6-3) + find_cluster(img, i+img->sizeX*6+3); return k; } else return 0; }