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 126 127 128 129 130 131 132 133
| #include <stdio.h>
#include <stdlib.h>
#define LARGEUR 400 // Largeur à modifier en fonction de l'image d'entrée
#define HAUTEUR 400 // 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\\resize_50xKmeansSTEP2withMask_output.tif "; // nom du fichier image à lire
int colonne = 0;
int ligne = 0 ;
int class = 0 ;
/*********************************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) ;
printf("################### \n") ;
printf("FONCTION Recuperation_pt_ctrl\n") ;
printf("%d \n", colonne) ;
printf("%d\n", ligne) ;
printf("################### \n") ;
return 0;
}
/*********************************/
int Selection_class_hydro(colonne, ligne, class)
{
//--------------------------------------------------
// Lecture du ou des fichier(s)
//--------------------------------------------------
FILE* fichier; // la variable fichier
fichier = fopen( nomFichier, "r" ); // ouverture du fichier
int x, y; // variables d'itération --> y-x : Hauteur-Largeur
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
//--------------------------------------------------
printf("################### \n") ;
printf("FONCTION Selection_class_hydro\n") ;
printf("%d \n", colonne) ; // Verification des valeurs de colonne et ligne dans la fct
printf("%d\n", ligne) ;
printf("################### \n") ;
class = image[colonne][ligne] ;
printf( "class = %d \n" , class);
return 0;
}
/*********************************/
int Export_classe(class)
{
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 \n ");
printf("################### \n") ;
fclose (pFile);
return 0;
}
/***********************************MAIN*************************************/
int main(int argc, char *argv[])
{
Recuperation_pt_ctrl() ;
Selection_class_hydro(colonne, ligne, class);
Export_classe (class);
return EXIT_SUCCESS ;
} |
Partager