Bonjour,
J'ai encore un problème, j'ai un tableau 2D contenant des températures, et je veux obtenir un nouveau tableau 2D qui doit contenir les valeurs indexées de mon premier tableau, c'est à dire des valeurs de 0 à 255 (0 pour la valeur minimale du premier tableau et 255 pour la valeur maximale) voici mon code :
"data" est de type double **
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 min=data[0][0]; max=data[0][0]; k=0; //on recupere le min et le max de data for (i=0;i<nblig;i++) { for (j=0;j<nbcol;j++) { if (data[i][j]<min) min=data[i][j]; if (data[i][j]>max) max=data[i][j]; } } printf("min : %g - max : %g\n",min,max); //indexation for (i=0;i<nblig;i++) { for (j=0;j<nbcol;j++) { data[i][j]=data[i][j]-min; data[i][j]=floor((255*data[i][j])/max); data_ind[i][j]=(unsigned char)(data[i][j]); } } //controle du min et max de l'index min_ind=data_ind[0][0]; max_ind=data_ind[0][0]; for (i=0;i<nblig;i++) { for (j=0;j<nbcol;j++) { if (data_ind[i][j]<min_ind) min_ind=data_ind[i][j]; if (data_ind[i][j]>max_ind) max_ind=data_ind[i][j]; } } printf("min_ind : %g - max_ind : %g\n",min_ind,max_ind);
Malheureusement il ne fonctionne pas, le premier printf qui me permet de contrôlé la valeur min et max me donne :
ce qui est tout à fait juste, mais le deuxième printf qui me permet de contrôler la valeur min et max de l'index me renvoi :min : 226.22 - max : 301.83
J'en déduis logiquement que je me suis gouré dans mon code d'indexage...min_ind : 0 - max_ind : 63
Partager