void smooth55Image( image img, image smooth ) { int r, ri, c, ci, sum, count; unsigned char value ; /* Find all neighborhood averages */ for ( r=0; r<img.nrows; r++ ) for ( c=0; c<img.ncols; c++ ) { sum = 0; count = 0; for ( ri= -2; ri<=2; ri++ ) if ( r+ri >=0 && r+ri < img.nrows ) for ( ci= -2; ci<=2; ci++ ) if ( c+ci >=0 && c+ci < img.ncols ) { sum += getPixel( img, r+ri, c+ci ); count++ ; } setPixel( smooth, r, c, sum/count ); } }