IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

recuperer le contenu d'un fichier bitmap dans une matrice


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 39
    Par défaut recuperer le contenu d'un fichier bitmap dans une matrice
    salut
    je veux récupérer le contenu d'un fichier bitmap dans une matrice comment je doit procéder
    exemple: le fichier 1.bmp représente le chiffre 1 je veux que ma matrice soit récupérée comme suit:

    0,0,0,1,0,
    0,0,1,1,0,
    0,0,0,1,0,
    0,0,0,1,0,
    0,0,0,1,0
    et merci de votre aide

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Il te faudra utiliser les fonctions :

    • fopen
    • fgets
    • sscanf
    • fclose


    à toi de nous montrer ce que tu peux faire..

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 39
    Par défaut
    voila le debut de mon code est e que je continue comme ça:
    il y a un pb avec : printf("nombre de bits :%d\n", img.taille_img);
    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
    42
    43
    44
    45
    46
    //1-Entête du fichier
    typedef struct
    {
        char signature[2];//indique s'il s'agit d'un fichier BMP à l'aide des deux caractères BM sur 2 octets.
        int fileSize;//La taille totale du fichier en octets (sur 4 octets)
        int reserved;//Un champ réservé (sur 4 octets)
        int offset;//adresse relative du début des informations concernant l'image par rapport au début du fichier
    }fileHeader;
    //2-Entête de l'image
    typedef struct{
     
        int taille;//La taille de l'entête de l'image en octets (codée sur 4 octets).
        int largeur;
        int hauteur;
        short nplans;//Cette valeur vaut toujours 1
        short nbits;//le nombre de bits utilisés pour coder la couleur
        int compression;//vaut 0 lorsque l'image n'est pas compressée
        int taille_img;//La taille totale de l'image en octets (sur 4 octets).
        int hRes;//résolution horizontale  nombre de pixels par mètre horizontalement
        int vRes;
        int nColor;
        int nImportantColor;
        //short code;
        //Color  palette;
    }bmpHeader;
     
    int main()
    {
     
        FILE* fichier=NULL;
        char data[5][5]={{0}};
        fileHeader f;
        bmpHeader img;
        fichier=fopen("2.bmp","r");
        fread(&f,sizeof(f),1,fichier);
        fread(&img,sizeof(img),1,fichier);
     
        printf("Signature :%c%c\n", f.signature[0], f.signature[1]);
        printf("nombre de bits :%d\n", img.taille_img);
     
     
     
        fclose(fichier);
     
        return 0;
    }

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,

    Pour utiliser fread, il me semblait qu'il faut ouvrir le fichier en mode binaire "rb".

    N'oublie pas de mettre les balises CODE et /CODE

    pour connaitre le nombre de bit de ton fichier, tu peux toujours te positionner à la fin avec fseek et compter le nombre de bit avec ftell.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Neckara Voir le message
    pour connaitre le nombre de bit de ton fichier, tu peux toujours te positionner à la fin avec fseek et compter le nombre de bit avec ftell.
    il y a plus fiable et prévu :

    fstat

  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 39
    Par défaut
    salut
    merci pour vos réponse
    je n'arrive pas à lire les données de l'images il me faut l'algorithme , comment décider que c'est un 0 ou un 1 et à partir de quelle position.
    j'ouvre le fichier en mode binaire, et après comment stocker les données dans le tableau
    @+

  7. #7
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 39
    Par défaut
    salut

    merci pour discussion

    tu as un fichier bmp 5*5 par exemple qui affiche 1





    , le problème est remplir un tableau par le contenu de cette image qd il y a du blanc on met 0 et pour la couleur noir 1 ce qui revient au résultat suivant:

    0,0,0,1,0,
    0,0,1,1,0,
    0,0,0,1,0,
    0,0,0,1,0,
    0,0,0,1,0
    Images attachées Images attachées  

  8. #8
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    il y a plus fiable et prévu :

    fstat
    fseek() et ftell() ont l'avantage d'être des fonctions standard. fstat() est une fonction POSIX.1, donc certes très portable et à utiliser sans modération :-)

    Avec mes meilleures salutations

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  9. #9
    Membre éclairé Avatar de dafpp
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 345
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    il y a plus fiable et prévu :

    fstat
    Pourquoi c'est plus fiable ?

    edit: c'est bon j'ai lu le message plus loin.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le contenu d'un fichier texte dans une variable
    Par heureactuelle dans le forum MATLAB
    Réponses: 2
    Dernier message: 17/05/2008, 15h10
  2. recuperer le contenu d'un fichier txt dans un JTextArea
    Par fraisa1985 dans le forum Composants
    Réponses: 1
    Dernier message: 09/02/2008, 12h25
  3. Copier le contenu d'un fichier distant dans une variable en local
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 16/08/2007, 20h34
  4. Réponses: 4
    Dernier message: 11/07/2007, 18h40
  5. Réponses: 1
    Dernier message: 18/04/2007, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo