Advertisement
d10070dd

points-polygons2

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