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 :

Compression RLE d'une image


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Compression RLE d'une image
    Bonjour,

    Je suis en train de coder un compresseur de fichier en RLE mais là je bloque je ne voix pas comment procéder pour l'algo en fait je part sur le principe que l'image est représenté ainsi :

    01 01 01 02 03 07 une fois compressé ça doit faire :
    03 01 01 02 02 03 (c'est un exemple)

    Voici le code que j'ai commencé à faire :
    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
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <errno.h>
    #include <string.h>
     
    int main(int argc, char* argv[])
    {
        FILE * fichierSource = NULL;
        FILE * fichierCible = NULL;
        unsigned int c;
        int retour;
        int compteur, valeur;
     
        if (argc != 3)
        {
            printf("usage: %s <nom_fichier> <nom_fichier_cible>\n", argv[0]);
            exit(-1);
        }
     
        fichierSource = fopen(argv[1], "rb");
        fichierCible = fopen(argv[2], "w");
     
        if (!fichierSource || !fichierCible)
        {
            fprintf(stderr, "Erreur: %s\n", strerror(errno));
            exit(-2);
        }
     
        compteur = 0;
        valeur = 0;
     
        while ((c = fgetc(fichierSource)) != EOF)
        {
            while (c == (c + 1))
            {
                compteur++;
                fputc(compteur, fichierCible);
                compteur = 1;
     
        return EXIT_SUCCESS;
    }
    le programme attend deux arguments : l'image à compressé(la source) et l'image compressé en .rle (la cible) c'est dans la deuxième boucle while que bloque il faut un compteur qui est incrémenté tant qu'il y a des valeur identiques mais il faut aussi retenir la valeur?

  2. #2
    Membre éprouvé Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Points : 997
    Points
    997
    Par défaut
    Bonsoir.

    Citation Envoyé par D1ablO Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        while ((c = fgetc(fichierSource)) != EOF)
        {
            while (c == (c + 1))
            {
                compteur++;
                fputc(compteur, fichierCible);
                compteur = 1;
     
        return EXIT_SUCCESS;
    }
    Là, il manque deux accolades fermantes.
    Mais je suppose que c'est une erreur de recopie...


    Je ne vais pas te donner la solution, mais pour l'instant je vais me contenter de te faire remarquer ceci :
    À moins de travailler en base 1 et sur un seul bit, cette expression est toujours fausse.

Discussions similaires

  1. [imwrite] Compression JPEG2000 d'une image .png
    Par eragon4992 dans le forum Images
    Réponses: 16
    Dernier message: 20/03/2015, 11h16
  2. Compression DCT sur une image bitmap
    Par Supr3M dans le forum C
    Réponses: 8
    Dernier message: 13/01/2010, 19h29
  3. Compresser et retailler une image jpg à l'upload
    Par alltec dans le forum Imagerie
    Réponses: 6
    Dernier message: 23/01/2007, 17h32
  4. Compresser une image jpg en VBA(Ex.: De 500k à 50k)
    Par nonaparus dans le forum VBA Access
    Réponses: 4
    Dernier message: 09/11/2006, 15h49
  5. règler la compression d'une image
    Par killaon dans le forum Langage
    Réponses: 1
    Dernier message: 30/08/2006, 21h08

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