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,
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 , i have an error at the line " temp[(i*width)+j]= (unsigned char)output[i][j]; ".
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);