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.