Beispiel #1
0
/**
 * @argc
 * @argv[]
 */
int main(int argc, char* argv[])
{
   FILE * fd;
   int n, nx, ny;
   char * infile, * outfile;
   float * V;

   if (argc < 5) {
     printf("usage: bin_to_tiff infile outfile nx ny\n");
     exit(1);
   }

   infile  = argv[1];
   outfile = argv[2];
   nx = atoi(argv[3]);
   ny = atoi(argv[4]);

   V = (float *) malloc(nx * ny * sizeof(float));
   assert(V != NULL);

   fd = fopen(infile, "rb");
   if (fd == NULL) {
      fprintf(stderr, "%s: ERROR opening file %s\n", argv[0], infile);
   }

   n = fread(V, sizeof(float), nx*ny, fd);
   assert(n == nx*ny);
   fclose(fd);

   tiff_write_file(outfile, V, nx, ny);

   free(V);

   return 0;
}
Beispiel #2
0
int main(int argc, char* argv[])
{
   int nx, ny, nxIn, nyIn;
   int ii, i, j, i0, j0;
   char * infile, * outfile;
   float * V, * input;

   if (argc < 5) {
     printf("usage: expand_tiff_image infile outfile nx ny\n");
     exit(1);
   }

   infile  = argv[1];
   outfile = argv[2];
   nx = atoi(argv[3]);
   ny = atoi(argv[4]);

   V = (float *) malloc(nx * ny * sizeof(float));
   assert(V != NULL);

   input = (float *) malloc(nx * ny * sizeof(float));
   assert(input != NULL);

   nxIn = nx;
   nyIn = ny;
   tiff_read_file(infile, input, &nxIn, &nyIn);

   i0 = nx/2 - nxIn/2;
   j0 = ny/2 - nyIn/2;

   for (i = 0; i < nx*ny; i++) {
      V[i] = 0;
   }

   ii = 0;
   for (j = j0; j < j0+nyIn; j++) {
      for (i = i0; i < i0+nxIn; i++) {
         V[i+nx*j] = input[ii++];
      }
   }

   tiff_write_file(outfile, V, nx, ny);

   free(input);
   free(V);

   return 0;
}