#include <stdio.h>
#include <gd.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
gdImagePtr image;
FILE *png;
int c,x,y;
float sum;
if (argc<2) {
printf("Syntax: lumiCalc <image.jpg>\n");
exit(1);
}
png = fopen(argv[1], "rb");
if(png==NULL) {
printf("Unable to open %s\n",argv[1]);
exit(1);
}
image = gdImageCreateFromJpeg(png);
fclose(png);
for (x=0;x<image->sx;x++) {
for (y=0;y<image->sy;y++) {
c=gdImageGetPixel(image,x,y);
sum+=gdTrueColorGetRed(c)*0.299+gdTrueColorGetGreen(c)*0.587+gdTrueColorGetBlue(c)*0.114;
}
}
printf("%d\n",sum/image->sx/image->sy);
gdImageDestroy(image);
return 0;
}