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 :

Traitement d'image !


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Traitement d'image !
    Bonjour,
    Je débute en C et je souhaite enregistrer en mémoire les pixels d'une image donnée en jpg pour ensuite les modifier (ex: j'ai une image en couleur, j'ouvre l'image, je lis tout les pixels, je les modifie pour les mettre en noir&blanc et crée un nouveau fichier image avec les modifications. J'aurais donc mon image de base en couleur et une autre en n&b).
    Je bloque sur la lecture et enregistrement des pixels:


    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
    #include <stdio.h>
    #include <jpeglib.h>
     
     
    int main(void)
    {
        FILE * fichier;
        int c;
     
        fichier = fopen("image.jpg", "r+");
        if(fichier == NULL)
        {
            perror("fopen");
        }
        while((c = fgetc(fichier)) != EOF)
        {
            putchar(c);
        }
     
        fclose(fichier);
        fichier = NULL;
        return 0;
    }


    j'ai trouvé des infos pour un fichier txt mais ça ne marche pas pour une image.
    Je ne vois pas du tout comment faire. Faut-il crée un tableau 2 dim et enregistrer pixel après pixel dedans et ensuite modifier case par case les pixels ?
    Ou alors suis-je totalement dans le faux ?
    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Pour pouvoir lire une image, il faut passé par des libs spécifique, les données ne sont pas interprétable comme dans un fichier texte normal.

    Je te conseil de regarder des tutos sur la SDL pour la manipulation des image, tu pourras de cette manière:
    1) lire une image
    2) récupéré les pixels de ton image
    3) créer une image
    4) remplir une image pixel par pixel
    5) sauvegarder ton image.

    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  3. #3
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Comme la si bien écrit Skeud le format jpeg n'est pas un format brute. Les données y sont compressées.

    Comme je vois que tu as quand même une petite idée de la chose vu que tu as inclus la bibliothèque "libjpeg.h" il te faut ensuite l'utiliser pour ouvrir ton image.

    Un post sur ce forum traite déjà de ce sujet. Ce sera pour toi une bonne piste pour arriver à tes fins : http://www.developpez.net/forums/d10...re-image-jpeg/

Discussions similaires

  1. Traitement d'images : quel langage?
    Par belasri dans le forum Langages de programmation
    Réponses: 19
    Dernier message: 07/10/2005, 09h59
  2. Réponses: 5
    Dernier message: 15/01/2005, 18h29
  3. commande c++ pour le traitement d'images
    Par mateo.14 dans le forum MFC
    Réponses: 2
    Dernier message: 12/01/2005, 10h46
  4. [lib] Traitement d'images
    Par Gogoye dans le forum Multimédia
    Réponses: 4
    Dernier message: 19/11/2004, 16h15
  5. Traitements d'image sur PNG avec transparence
    Par Ingham dans le forum Langage
    Réponses: 16
    Dernier message: 02/08/2004, 16h42

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