Hi all,
I fail to write the image data to binary PGM format (P5).
Let's say i have to write a image data into PGM P5 format.
I have the information for width, height, Y_min, Y_max, XL, XR and the TEMPLATE1 (data matrix) ==>A region of interest from an image.
Y_min & Y_max = minimum and maximum of the height value.
XL & XR = min and max of the width value for the image.
First, i call the subroutine,
However , i have an error at the line " temp[(i*width)+j]= (unsigned char)output[i][j]; ".Code:write_data_grey_binary(width1,height1,XL1,XR1,Y_min1,Y_max1,filename99[total],TEMPLATE1); void write_data_grey_binary(width,height,XL,XR,Y_min,Y_max,filename,output) int width,height,XL,XR,Y_min,Y_max; char *filename; unsigned char** output; { int i,j,nread; FILE *fp; unsigned char* temp; if((fp = fopen(filename,"w")) == NULL){ printf("File 333 output data can not open\n"); exit(1); } fprintf(fp,"P5\n%d %d\n%d\n",width,height,(GRYSCL-1)); temp = (unsigned char*)calloc(height*width, sizeof(unsigned char)); for(i=Y_min;i<=Y_max;i++){ for(j=XL;j<=XR;j++){ temp[(i*width)+j]= (unsigned char)output[i][j]; } } nread = fwrite((void*)temp, sizeof(unsigned char), (height*width), fp); free(temp); fclose(fp); return(0); }
However, this coding can be ran when i want to write the full image like:
write_data_grey_binary(width,height,0,width-1,0,height-1,filename99[total],inpgrey);



LinkBack URL
About LinkBacks



