что я пытаюсь сделать, это взять этот вызов функции ...
assign_sum_to_pixel(¤t_pixel, sum);
и замените его на фактический код, который он вызывает, это ...
/*
* assign_ sum_ to_ pixel - Computes averaged pixel value in current_pixel
*/
static void assign_ sum_ to_ pixel (pixel *current_ pixel, pixel_ sum sum)
{
current_ pixel->red = (unsigned short) (sum.red/sum.num);
current_ pixel->green = (unsigned short) (sum.green/sum.num);
current_ pixel->blue = (unsigned short) (sum.blue/sum.num);
return;
}
Что я придумал, так это ...
/*
* mysmooth1 - my smooth1
*/
char mysmooth1_descr[] = "my smooth1: My smooth1";
void mysmooth1(int dim, pixel *src, pixel *dst)
{
int i, j;
int ii, jj;
pixel_ sum sum;
pixel current_ pixel;
for (i = 0; i < dim; i++)
for (j = 0; j < dim; j++)
{
initialize_ pixel_ sum (&sum);
for(ii = max(i-1, 0); ii <= min(i+1, dim-1); ii++)
for(jj = max(j-1, 0); jj <= min(j+1, dim-1); jj++)
accumulate_ sum(&sum, src[RIDX(ii, jj, dim)]);
{
***current_ pixel->red = (unsigned short) (sum.red/sum.num);
current_ pixel->green = (unsigned short) (sum.green/sum.num);
current_ pixel->blue = (unsigned short) (sum.blue/sum.num);***
***(These three lines above are the lines I inserted which is where the function call use to be)***
dst[RIDX(i, j, dim)] = return;
}
}
}
но ... по какой-то причине, когда я запускаю код, он не работает, выдавая эту ошибку
kernels.c:456: error: invalid type argument of â->â
kernels.c:457: error: invalid type argument of â->â
kernels.c:458: error: invalid type argument of â->â
kernels.c:459: warning: statement with no effect
именно там, где я добавил новый код ...
current_ pixel->red = (unsigned short) (sum.red/sum.num);
current_ pixel->green = (unsigned short) (sum.green/sum.num);
current_ pixel->blue = (unsigned short) (sum.blue/sum.num);
может кто-нибудь сказать мне, если я делаю что-то не так ... Я где-то пропускаю скобки? я не инициализирую свои переменные правильно? возвращение не должно быть в нижней части, равное dst[RIDX(i, j, dim)]
любая помощь, комментарии, предложения будут с благодарностью. Спасибо.