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
|
#include <stdio.h>
#include <stdlib.h>
#define LARGEUR 5058 // Largeur à modifier en fonction de l'image d'entrée
#define HAUTEUR 7112 // Hauteur à modifier en fonction de l'image d'entrée
//--------------------------------------------------
// Déclaration des variables
//--------------------------------------------------
unsigned char image[LARGEUR][HAUTEUR]; // la matrice de l'image originale
char nomFichier[] = "Image\\KmeansSTEP2withMask_output.tif "; // nom du fichier image à lire
FILE* fichier; // la variable fichier
int pixel; // variable tampon
int x, y; // variables d'itération --> y-x : Hauteur-Largeur
int colonne, ligne ;
unsigned char class ;
/*********************************Fonctions***********************************/
int Recuperation_pt_ctrl()
{
FILE *Hfile ;
if((Hfile=fopen("point_ctrl.txt", "r"))==NULL)
{
fprintf(stderr, "Erreur d'ouverture du fichier .txt\n") ;
return EXIT_FAILURE ;
}
while(!feof(Hfile)) // feof (END OF FILE) indique la fin du fichier (marquage automatique lors ouverture)
{
if((fscanf(Hfile, "colonne=%d\n", &colonne))==1)
{
}
else if((fscanf(Hfile, "ligne=%d\n", &ligne))==1)
{
}
}
fclose(Hfile) ;
return 0;
}
int Selection_class_hydro()
{
//--------------------------------------------------
// Lecture du ou des fichier(s)
//--------------------------------------------------
// Image 1 (la plus couramment utilisée)
fichier = fopen( nomFichier, "rb" ); // ouverture du fichier en lecture binaire (rb)
if( fichier==0 )
{ // Erreur d'ouverture
printf( "Desole, mais le fichier est introuvable ! Le programme va s'arreter..." );
return 1;
}
printf( ">> Lecture de l'image \"%s\" [", nomFichier );
for( y=0; y<HAUTEUR; y++ )
{ // lecture sur l'axe Y
for( x=0; x<LARGEUR; x++ )
{ // lecture sur l'axe X (=lecture d'une ligne)
image[x][y] = fgetc(fichier);
}
}
fclose(fichier); // fermeture du fichier
printf( "]\n>> Lecture de l'image terminee !\n" );
//--------------------------------------------------
// Selection de la classe
//--------------------------------------------------
class = image[colonne][ligne] ;
printf( "%d -" , class);
return 0;
}
int Export_classe ()
{
FILE * pFile;
pFile = fopen ("numero_classe_eau.txt","w");
fprintf (pFile, "%d \n",class);
printf ("Export du numéro de classe dans le fichier texte terminee ");
fclose (pFile);
return 0;
}
/***********************************MAIN*************************************/
int main(int argc, char *argv[])
{
Recuperation_pt_ctrl(colonne, ligne) ;
printf("################### \n") ;
printf("%d \n", colonne) ;
printf("%d\n", ligne) ;
printf("################### \n") ;
Selection_class_hydro(class);
printf("\n ################### \n") ;
Export_classe ();
// printf("%d\n", class) ;
return EXIT_SUCCESS ;
} |
Partager