Advertisement
hasegawa

☆points-polygons3

Feb 6th, 2014
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.19 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <time.h>
  5.  
  6. int main(int argc,char *argv[])
  7. {
  8.     FILE *fpi1,*fpi2,*fpo;              
  9.         int i,j,width;
  10.     int k,l;
  11.     int height1,height2;
  12.     //unsigned char dn1,dn2;
  13.     float dn1;
  14.     int dn2;
  15.     float dn1_x,dn1_y,dn1_z;
  16.     float dn3;              
  17.     //unsigned char *file1,*file2;
  18.     float *file1;
  19.     int *file2;
  20.     //float *file3;          
  21.     //float start,end;
  22.    
  23.     //start=clock();
  24.  
  25.     if(argc!=7)
  26.     {
  27.         fprintf(stderr,"Usage: %s\n(2)Input_R_READ_filename\n(3)Input_NIR_READ_filename\n(4)Output_RVI_filename\n(5)width\n(6)height\n(7)header_size\n",argv[0]);
  28.         exit(1);
  29.     }
  30.  
  31.     printf("OPEN Points FILE NAME:%s\n",argv[1]);
  32.     printf("OPEN Verteices FILE NAME:\%s\n",argv[2]);
  33.     printf("OPEN OUTPUT FILE NAME:%s\n",argv[3]);
  34.  
  35.     width = atoi(argv[4]); printf("W = %d,", width);    
  36.         height1 = atoi(argv[5]); printf("H1 = %d\n", height1);
  37.     height2 = atoi(argv[6]); printf("H2 = %d\n", height2);
  38.     //header=atoi(argv[6]);printf("header=%d\n",header);
  39.  
  40.     /*---------ÉÅÉÇÉäÇÃé©ìÆäÑìñ----------*/
  41.     file1= (float *)malloc(width*height1*sizeof(float));
  42.     file2= (int *)malloc(width*height2*sizeof(int));
  43.     //file3= (float *)malloc(width*height*sizeof(float));
  44.  
  45.     /*----------------ì¸óÕRâÊëúÉtÉ@ÉCÉãÇÃÉIÅ[ÉvÉìäJén----------------------*/
  46.         if((fpi1=fopen(argv[1],"rb"))==NULL)
  47.     {       /*ÉtÉ@ÉCÉãÇÃÉIÅ[ÉvÉì*/
  48.             fprintf(stderr,"input file open error\n");
  49.         exit(1);
  50.         }
  51.  
  52.         fread((float *)file1,sizeof(float),width*height1,fpi1);
  53.     /*----------------âÊëúÉtÉ@ÉCÉãÇÃÉIÅ[ÉvÉìèIóπ----------------------*/
  54.     /*----------------ì¸óÕNIRâÊëúÉtÉ@ÉCÉãÇÃÉIÅ[ÉvÉìäJén----------------------*/
  55.  
  56.         if((fpi2=fopen(argv[2],"rb"))==NULL)
  57.     {       /*ÉtÉ@ÉCÉãÇÃÉIÅ[ÉvÉì*/
  58.             fprintf(stderr,"output file open error\n");
  59.         exit(1);
  60.         }
  61.  
  62.         fread((int *)file2,sizeof(int),width*height2,fpi2);
  63.     /*----------------âÊëúÉtÉ@ÉCÉãÇÃÉIÅ[ÉvÉìèIóπ----------------------*/
  64.     /*----------------èoóÕRVIâÊëúÉtÉ@ÉCÉãÇÃÉIÅ[ÉvÉìäJén----------------------*/
  65.         if((fpo=fopen(argv[3],"wb"))==NULL)
  66.     {       /*ÉtÉ@ÉCÉãÇÃÉIÅ[ÉvÉì*/
  67.             fprintf(stderr,"output file open error\n");
  68.         exit(1);
  69.         }
  70.         //fread((float *)file3,sizeof(float),width*height,fpo);
  71.  
  72.     for(i=0;i<height2;i++)
  73.     {
  74.         for(j=0;j<width;j++)
  75.         {
  76.             dn2=file2[i*width+j];//vertex No
  77.             dn1_x=file1[dn2*width];
  78.             printf("%f\n",dn1_x);
  79.             fwrite(&dn1_x,sizeof(float),1,fpo); /*míPà ïWçÇÉfÅ[É^ÇÃèëÇ´çûÇ›*/
  80.             dn1_y=file1[dn2*width+1];
  81.             printf("%f\n",dn1_y);
  82.             fwrite(&dn1_y,sizeof(float),1,fpo); /*míPà ïWçÇÉfÅ[É^ÇÃèëÇ´çûÇ›*/
  83.                 dn1_z=file1[dn2*width+2];
  84.                 printf("%f\n",dn1_z);
  85.                 fwrite(&dn1_z,sizeof(float),1,fpo); /*míPà ïWçÇÉfÅ[É^ÇÃèëÇ´çûÇ›*/
  86.         }
  87.     }
  88.     free(file1);
  89.     free(file2);
  90.     //free(file3);
  91.     fclose(fpi1);
  92.     fclose(fpi2);
  93.     fclose(fpo);
  94.     //end=clock();
  95.  
  96.     //printf("äJénéûä‘ÇÕÅC%fïb\n",start/1000);
  97.     //printf("èIóπéûä‘ÇÕÅC%fïb\n",end/1000);
  98.     //printf("åoâfléûä‘ÇÕÅC%fïb\n",(end-start)/1000);
  99.  
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement