public int[] group_histo(int[] histo, int[] limits)
{
int[] new_histo = new int[iloscOdcieniSzarosci];
int temp_index = 0;
double temp_value = ((double)kolorBialy / (double)(iloscKlas - 1));
double floating_value = 0;
for (int i = 0; i <= limits.Length; i++)
{
if (i < limits.Length)
while (temp_index < limits[i]) // warunek ten nie uwzględniał ostatniego przedziału -> np. 4 klasy, czyli 3 progi binaryzacyjne
// --> [0; bin[0]], [bin[0]; bin[1]], [bin[1]; bin[2]]; [bin[2]; 255] => mamy 4 przedziały/klasy
new_histo[temp_index++] = (int)floating_value; //kolorowanie kolejnych pikseli
if (i == limits.Length)
while (temp_index < iloscOdcieniSzarosci) // ostatni przedział
new_histo[temp_index++] = kolorBialy;
floating_value += temp_value; //wyznaczamy nowy kolor z wzoru ktory podal Maciek
}
return new_histo;
}