Wszystko sie kompiluje tylko zapisany "poprawiony" obraz jest caly rozmyty. Siedze nad tym z 6 godzin i nie wiem co jest nie tak.
W tej podwojnej petli porownywane sa najpierw R 9 pikseli w kwadracie 3x3 p otem G a potem B , nastepnie przechodzi do kolejnego pixela.
int a = pointer2->width;
int b = pointer2->height;
int c = a*3;
int padding=0;
if (c%4==0)
padding =0;
if (c%4==1)
padding =3;
if (c%4==2)
padding =2;
if (c%4==3)
padding =1;
int tab[9];
printf(" padding:%d\n",padding);
printf(" a:%d\n",a);
printf(" b:%d\n",b);
for(int j=1;j<b-1;j++)
{
for(int i = j*(a*3 +padding) + 3; i< j*(a*3+padding)+(a*3+padding)-padding-3;i++) // j w srodku
{
tab[0] = pointer3->pixel_data[i-(a*3+padding)-3];
tab[1] = pointer3->pixel_data[i-(a*3+padding)];
tab[2] = pointer3->pixel_data[i-(a*3+padding)+3];
tab[3] = pointer3->pixel_data[i-3];
tab[4] = pointer3->pixel_data[i];
tab[5] = pointer3->pixel_data[i+3];
tab[6] = pointer3->pixel_data[i+(a*padding)-3];
tab[7] = pointer3->pixel_data[i+(a*padding)];
tab[8] = pointer3->pixel_data[i+(a*padding)+3];
// for(int i=0 ; i<9;i++)
// printf("%d ",tab[i]);
// printf("\n");
int swap;
for (int c = 0 ; c < 9; c++)
{
for (int d = 0 ; d < 8 - c ; d++)
{
if (tab[d] > tab[d+1])
{
swap = tab[d];
tab[d] = tab[d+1];
tab[d+1] = swap;
}
}
}
pointer3->pixel_data[i] = tab[4];
// for(int i=0 ; i<9;i++)
// printf("%d ",tab[i]);
// printf("\n");
}
}