#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: