1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
FILE *pf1 ,*pf2 ;
#define D 1447680
#define n 1040
#define m 1392
#define star 3000
int i , j , k , d ,c ,b ,num_star , num_starmaxi ;
double x[star],y[star];
float somme ,somme2 ,somme3 , moy ,carre_moy , ecart_type , seuil ,seuil2 ,max ;
float V[n*m];
int main(){
num_starmaxi=2000 ;
somme3=7671;
somme=0;
somme2=0;
seuil2=7670;
pf1=fopen("allsky_20150716_232659.txt","r");
// pf2=fopen("image_ciel.dat","w");
for (i=0;i<n;i++){
for(j=0;j<m;j++){
fscanf(pf1,"%f \n",&V[i*m+j]);
//fprintf(pf2,"%f \n",V[i*m+j]);
// somme=somme+V[i*m+j];
//moy=somme/D ;
// printf("%f \n" , moy);
//printf("%f \n",V[i*m+j]);
}
}
fclose(pf1);
// fclose(pf2);
//pf1=fopen("image_ciel.dat","r");
//pf2=fopen("seuil_ciel.rtf","w");
//somme=0;
for(i=0;i<D ;i++){
//fscanf(pf1,"%f \n ",&V[i]);
somme=somme+V[i];
somme2=somme2+V[i]*V[i];
//printf("%f \n" , V[i]);
}
moy= somme/D ;
carre_moy= somme2/D;
ecart_type= sqrt(carre_moy-(moy*moy));
seuil= moy + 4*ecart_type ;
printf("%f %f %f %f \n" , moy , carre_moy , ecart_type , seuil);
printf("%f\n" , somme);
for(i=0;i<D;i++){
if(V[i]< seuil){
V[i]=0.0 ;
//fprintf(pf2,"%f ∖n ",V[i]);
//printf("%f",V[i] );
}
}
//fclose(pf1);
//fclose(pf2);
num_star=0;
while( num_star<num_starmaxi){
for(i=0;i<n;i++){
for(j=0;j<m;j++){
k=i*m+j;
somme3=somme3+V[k];
if(max<V[k]){
max=V[k];
x[num_star]=j;
y[num_star]=i;
num_star=num_star+1;
for(b=i-2;i<=i+2;i++){ // je suspecte le problème ici .
for(c=j-2;c<=j+2;j++){
d=b*m+c;
V[d]=0;
}}
}
}
}
printf("%f \n ",somme3);
}
for(i=0;i<num_starmaxi;i++){
printf("%lf %lf \n",x[i],y[i]);
}
return 0;
} |