I want to convert a .img File (512 Bytes header, 512x512 pixel with 8 bit per pixel (Values: 0-255)) to a .ras file. To do this I got the C code at the end of this post. The output of my test Image (test.img) should be a black/white image - so just containing values either 0 or 255. But the problem is, when I compile the C code (from the bottom) in windows, my resulting .ras file is white and a bright blue?! The curious thing is. When I compile the C code in Linux, then the result is perfectly black/white?! How can this come? In both systems I used 64 bit.
So you can try it out: 1. compile C code with: gcc -lm img2ras.c -o img2ras 2. Convert .img to .ras by console: img2ras test.img test.ras 3. Watch .ras file either in gimp, XnView or PaintshopPro
Do you have any clue how this awkward result can happen on different OS with the same Version of gcc 4.8.1?
test.img: http://www.file-upload.net/download-8629102/test.img.html
img2ras.c
/* this program accepts an input file (which comes from the image
capturing board) and an output file, which must be specified on the command
line. The output file is a Sun rasterfile.
usage : img2ras capfilename rastfilename
This program was written by Chuck Horne and butchered by Mark Holcomb*/
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
main(argc,argv)
int argc;
char *argv[];
{
/**********declarations**********/
int fd_in,fd_out;
/* long int buf[8]; this is for the integers in the header*/
static char buf[] = {
0x59, 0xa6, 0x6a, 0x95, 0x0, 0x0, 0x2, 0x0, 0x0,
0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x4, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0,
0x0, 0x3, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6,
0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10,
0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,
0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42,
0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c,
0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a,
0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74,
0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e,
0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92,
0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c,
0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,
0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba,
0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc0, 0xc2, 0xc2, 0xc4,
0xc5, 0xc6, 0xc7, 0xc8, 0xc8, 0xca, 0xcb, 0xcc, 0xcd, 0xce,
0xcf, 0xd0, 0xd1, 0xd2, 0xd2, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8,
0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2,
0xe3, 0xe3, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xeb,
0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf3, 0xf5, 0xf5,
0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfb, 0xfd, 0xfd, 0xff, 0x0,
0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa,
0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14,
0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32,
0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c,
0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46,
0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64,
0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e,
0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82,
0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c,
0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0,
0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa,
0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe,
0xbf, 0xc0, 0xc0, 0xc2, 0xc2, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8,
0xc8, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2,
0xd2, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc,
0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe3, 0xe5, 0xe6,
0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xeb, 0xed, 0xee, 0xef, 0xf0,
0xf1, 0xf2, 0xf3, 0xf3, 0xf5, 0xf5, 0xf7, 0xf8, 0xf9, 0xfa,
0xfb, 0xfb, 0xfd, 0xfd, 0xff, 0x0, 0x1, 0x2, 0x3, 0x4,
0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe,
0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54,
0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e,
0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72,
0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c,
0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86,
0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90,
0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a,
0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4,
0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae,
0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8,
0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc0, 0xc2,
0xc2, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc8, 0xca, 0xcb, 0xcc,
0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd2, 0xd4, 0xd5, 0xd6,
0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0,
0xe1, 0xe2, 0xe3, 0xe3, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
0xeb, 0xeb, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf3,
0xf5, 0xf5, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfb, 0xfd, 0xfd,
0xff
};
char pixels[1024]; /*this is for the 8-bit pixels*/
unsigned int ct;
char infile[36];
char outfile[38];
char *T_pixels; /*rotate through 2 rows of input*/
int even=1;
int dummy;
/*first, set up the file i/o*/
strcpy(infile,argv[1]);
strcpy(outfile,argv[2]);
if ((fd_in=open(infile,0))<2) {
printf("can't open %s\n",infile);
exit(1);
}
if ((fd_out=open(outfile,O_WRONLY|O_CREAT,0600))<2) {
printf("can't open %s\n",outfile);
exit(1);
}
/*now insert the raster header (a color raster with lut of 1,1,1:2,2,2:etc) */
/* now write this stuff out */
if (write(fd_out,(char *)buf,800)!=800) {
printf("can't write out the header\n");
exit(1);
}
/*have to throw out the first 512 in img*/
if (read(fd_in,pixels,512)<0) {
printf("can't read the header of %s\n",infile);
exit(1);
}
/* now start slapping the pixels in behind it */
for (ct=0;ct<512;ct++) {
if (even) T_pixels=pixels;
else T_pixels=(char *)(&pixels[512]);
even=!even;
if (read(fd_in,T_pixels,512)<0) {
printf("can't read in pixels, line %d\n",ct);
exit(1);
}
if ((dummy=write(fd_out,T_pixels,512))<0) {
printf("file descriptor is %d ",fd_out);
printf("error number is %d\n",errno);
printf("can't write out pixels, line %d\n",ct);
printf("dummy value is %d\n",dummy);
exit(1);
}
}
/*now close the files and tidy up*/
close(fd_in);
close(fd_out);
} /* ends main */
Ok guys, I have no explanation for this, but at least I got it to work. If I put the img2ras.c Code into my C++ code like at the bottom of this post and call it inside my project, everything turns out right?! So this means: If I compile the .c Code via the command line I get a blue image and if I compile the same code inside eclipse I get the black/white image! Could this has to to something with MinGW and cygwin64? I'm so confused but so happy at the same time :)!
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
/* this program accepts an input file (which comes from the image
capturing board) and an output file, which must be specified on the command
line. The output file is a Sun rasterfile.
usage : img2ras capfilename rastfilename
This program was written by Chuck Horne and butchered by Mark Holcomb*/
void img_to_ras(FILE *fp_in, FILE *fp_out)
{
/**********declarations**********/
int fd_in, fd_out;
/* long int buf[8]; this is for the integers in the header*/
static char buf[] = {
0x59, 0xa6, 0x6a, 0x95, 0x0, 0x0, 0x2, 0x0, 0x0,
0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x4, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0,
0x0, 0x3, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6,
0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10,
0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,
0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42,
0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c,
0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a,
0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74,
0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e,
0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92,
0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c,
0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,
0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba,
0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc0, 0xc2, 0xc2, 0xc4,
0xc5, 0xc6, 0xc7, 0xc8, 0xc8, 0xca, 0xcb, 0xcc, 0xcd, 0xce,
0xcf, 0xd0, 0xd1, 0xd2, 0xd2, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8,
0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2,
0xe3, 0xe3, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xeb,
0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf3, 0xf5, 0xf5,
0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfb, 0xfd, 0xfd, 0xff, 0x0,
0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa,
0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14,
0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32,
0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c,
0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46,
0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64,
0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e,
0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82,
0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c,
0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0,
0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa,
0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe,
0xbf, 0xc0, 0xc0, 0xc2, 0xc2, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8,
0xc8, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2,
0xd2, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc,
0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe3, 0xe5, 0xe6,
0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xeb, 0xed, 0xee, 0xef, 0xf0,
0xf1, 0xf2, 0xf3, 0xf3, 0xf5, 0xf5, 0xf7, 0xf8, 0xf9, 0xfa,
0xfb, 0xfb, 0xfd, 0xfd, 0xff, 0x0, 0x1, 0x2, 0x3, 0x4,
0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe,
0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54,
0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e,
0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72,
0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c,
0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86,
0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90,
0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a,
0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4,
0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae,
0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8,
0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc0, 0xc2,
0xc2, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc8, 0xca, 0xcb, 0xcc,
0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd2, 0xd4, 0xd5, 0xd6,
0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0,
0xe1, 0xe2, 0xe3, 0xe3, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
0xeb, 0xeb, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf3,
0xf5, 0xf5, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfb, 0xfd, 0xfd,
0xff
};
char pixels[1024]; /*this is for the 8-bit pixels*/
unsigned int ct;
char infile[36];
char outfile[38];
char *T_pixels; /*rotate through 2 rows of input*/
int even = 1;
int dummy;
// FILE* fp_out = NULL;
/*first, set up the file i/o*/
//strcpy_s(infile, argv[1]);
//strcpy_s(outfile, argv[2]);
/*#ifdef DEBUG
fopen_s(&fp_in, "D:\\ComputerVision\\code\\comb.img", "rb");
fopen_s(&fp_out, "D:\\ComputerVision\\code\\comb_out_testing.ras", "wb");
#else
//fopen_s(&fp_in, "D:\\ComputerVision\\code\\comb_out_x.img", "rb");
fopen_s(&fp_in, "D:\\ComputerVision\\code\\label.img", "rb");
fopen_s(&fp_out, "D:\\ComputerVision\\code\\comb_out_final.ras", "wb");
#endif*/
/*now insert the raster header (a color raster with lut of 1,1,1:2,2,2:etc) */
/* now write this stuff out */
fwrite(buf, 1, 800, fp_out);
/*have to throw out the first 512 in img*/
fread(pixels, 1, 512, fp_in);
/* now start slapping the pixels in behind it */
for (ct = 0; ct<512; ct++) {
if (even) T_pixels = pixels;
else T_pixels = (char *) (&pixels[512]);
even = !even;
fread(T_pixels, 1, 512, fp_in);
fwrite(T_pixels, 1, 512, fp_out);
}
/*now close the files and tidy up*/
// fclose(fp_in);
// fclose(fp_out);
}