unknown@wiki HCED7,32×64のエッジマップ4枚を読み込んで64次元のHCEDベクトルを生成

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

#include<stdio.h>
#include<stdlib.h>
#define FNAMEV "pro32.v.pbm"
#define FNAMEP "pro32.p45.pbm" 
#define FNAMEH "pro32.h.pbm" 
#define FNAMEM "pro32.m45.pbm"  
#define FNAMEW "vec.txt" 
 
main (){
  
 int i, j, p, q, sum[64], b[32][64], vec1[16], vec2[16], vec3[16], vec4[16];
 char s[256];
 FILE *fp;
 
 
    fp=fopen(FNAMEV,"r");
    if(fp==NULL){
       printf("Can not open file ");
       exit(1);
    }
   
    for(i=0; i<3; i++){   
 fgets(s, 256, fp);
 }
   
 for(j=0;j<64;j++){
     for(i=0;i<32;i++){
      fscanf(fp,"%d", &b[i][j]);
     }
    }
    for(j=0;j<4;j++){
     for(i=0;i<4;i++){
   vec1[i+j*4]=0;
      for(p=0;p<16;p++){
       for(q=0;q<8;q++){ 
     vec1[i+j*4]=vec1[i+j*4]+b[8*i+q][16*j+p];
       }
      }
       }
    }
   
 fclose(fp);   

    fp=fopen(FNAMEP,"r");
    if(fp==NULL){
       printf("Can not open file ");
       exit(1);
    }
   
    for(i=0; i<3; i++){   
 fgets(s, 256, fp);
 }
   
 for(j=0;j<64;j++){
     for(i=0;i<32;i++){
      fscanf(fp,"%d", &b[i][j]);
     }
    }
    for(j=0;j<4;j++){
     for(i=0;i<4;i++){
   vec2[i+j*4]=0;
      for(p=0;p<16;p++){
       for(q=0;q<8;q++){ 
       vec2[i+j*4]=vec2[i+j*4]+b[8*i+q][16*j+p];
       }
      }
       }
    }
   
 fclose(fp);   


 
 
    fp=fopen(FNAMEH,"r");
    if(fp==NULL){
       printf("Can not open file ");
       exit(1);
    }
   
    for(i=0; i<3; i++){   
 fgets(s, 256, fp);
 }
   
 for(j=0;j<64;j++){
     for(i=0;i<32;i++){
      fscanf(fp,"%d", &b[i][j]);
     }
    }
    for(j=0;j<4;j++){
     for(i=0;i<4;i++){
    vec3[i+j*4]=0;
      for(p=0;p<16;p++){
       for(q=0;q<8;q++){ 
      vec3[i+j*4]=vec3[i+j*4]+b[8*i+q][16*j+p];
       }
      }
       }
    }
   
 fclose(fp);   

 

    fp=fopen(FNAMEM,"r");
    if(fp==NULL){
       printf("Can not open file ");
       exit(1);
    }
   
    for(i=0; i<3; i++){   
 fgets(s, 256, fp);
 }
   
 for(j=0;j<64;j++){
     for(i=0;i<32;i++){
      fscanf(fp,"%d", &b[i][j]);
     }
    }
    for(j=0;j<4;j++){
     for(i=0;i<4;i++){
    vec4[i+j*4]=0;
      for(p=0;p<16;p++){
       for(q=0;q<8;q++){ 
     vec4[i+j*4]=vec4[i+j*4]+b[8*i+q][16*j+p];
       }
      }
       }
    }
   
 fclose(fp);   

 

    fp=fopen("vec3.txt","w");
    if(fp==NULL){
       printf("Can not open file ");
       exit(1);
    }
    for(j=0;j<4;j++){
     for(i=0;i<4;i++){
            fprintf(fp,"%d ",vec3[i+j]);
 }
     
    }

 fp=fopen("vec1.txt","w");
    if(fp==NULL){
       printf("Can not open file ");
       exit(1);
    }
    for(j=0;j<4;j++){
     for(i=0;i<4;i++){
            fprintf(fp,"%d ",vec1[i+4*j]);
  }
 }


 fp=fopen(FNAMEW,"w");
    if(fp==NULL){
       printf("Can not open file ");
       exit(1);
    }

 
 for(i=0;i<16;i++){
 sum[i]=vec1[i];
 sum[i+16]=vec2[i];
 sum[i+32]=vec3[i];
 sum[i+48]=vec4[i];
  }

 for (i=0;i<64;i++){
  fprintf(fp, "%d ", sum[i]);
 }

 fclose(fp);


}