#include <stdlib.h>
#include <stdio.h>
#include "basicImage.c"
void multFactor( image img, double factor )
{
int r, c, value ;
for ( r=0; r<img.nrows; r++ )
for ( c=0; c<img.ncols; c++ )
{
value = getPixel( img, r, c )*factor ;
if ( value > 255 ) value = 255 ;
setPixel( img, r, c, (unsigned char)value );
}
}
int main ( int argc, char* argv[] )
{
image img;
double factor ;
if ( argc != 4 )
{
printf("multFactor oldImage newImage factor\n");
system( "pause" );
exit( EXIT_FAILURE );
}
factor = atof( argv[3] );
if ( factor <= 0.0 )
{
printf("factor should be greater than 0.0\n");
exit( EXIT_FAILURE );
}
/* read in the old image */
readPGMimage( &img, argv[1]);
/* add in the constant value */
multFactor( img, factor ) ;
/* write the image to disk and free memory */
writePGMimage( img, argv[2]);
freeImage( &img );
}
Comments: