/* ---------------------------------------- Image Processing pd1.c File Image Data Processing Ichinoseki National College Advanced Course ------------------------------------------ */ #include #include #include main(argc,argv) int argc; char *argv[]; { static int i,j; static int m; static int pixel,line; static int g[1000*1000*3]; /* Image data array */ FILE *fp1,*fp2; /* fp1:Input fp2:Output Image File */ /* Command parameter check */ if (argc!=5){ printf("Usage : command input_file pixel line output_file\n"); return 1; } /* Image size parameter load */ sscanf(argv[2],"%d",&pixel); sscanf(argv[3],"%d",&line); if (pixel*line >= 3000000){ printf("Too big image size\n"); return 1; } /* Input image file check */ if (( fp1=fopen(argv[1],"r") )==NULL){ printf("Can't open input_file\n"); return 1; } /* Output image file check */ if (( fp2=fopen(argv[4],"w") )==NULL){ printf("Can't open output_file\n"); return 1; } /* Skip header data of Input Image */ fseek(fp1,60,0); /* Load Color Image Data from Input File to Image Array */ for (j=0; j-1; i--) { putc(g[3*(j*pixel+i)+0],fp2); putc(g[3*(j*pixel+i)+1],fp2); putc(g[3*(j*pixel+i)+2],fp2); } } fclose(fp1); fclose(fp2); return 0; }