Ouvrir une image avec le language c??
madjid
-
forestmann Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
forestmann Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je veux appliquer des traitement sur une image dans le language c à l'aide d'un algorithme(moyen mobile) et je n'arrive pas a l'ouvrir pour la représenter sous forme de pixel dans une structure de données adéquate ?
A voir également:
- Ouvrir une image avec le language c??
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Ouvrir avec - Guide
- Ouvrir fichier .dat - Guide
- Comment ouvrir un fichier docx ? - Guide
3 réponses
Salut
Quel format d'image, BMP ?
Sinon, tu dois créer ta structure toi-même.
Par exemple :
Et pour l'initialisation :
On a en premier le magic number.
Les lignes suivantes sont des commentaires. (Avec un #)
Après, tu récupères la largeur de l'image et la hauteur.
Tu dois ensuite allouer image.donnees
Et enfin le remplissage du champ donnees ;
Si tu as des questions, n'hésite pas.
Quel format d'image, BMP ?
Sinon, tu dois créer ta structure toi-même.
Par exemple :
typedef struct { unsigned char **donnees; int hauteur; int largeur; int magicNumber; } structImg;
Et pour l'initialisation :
On a en premier le magic number.
Les lignes suivantes sont des commentaires. (Avec un #)
Après, tu récupères la largeur de l'image et la hauteur.
Tu dois ensuite allouer image.donnees
structImg image; int i; image.donnees=(unsigned char**)calloc(image.hauteur,sizeof(unsigned char*)); *image.donnees=(unsigned char*)calloc(image.hauteur*image.largeur,sizeof(unsigned char)); for(i=1;i<image.hauteur;i++) image.donnees[i] = image.donnees[i-1] + image.largeur;
Et enfin le remplissage du champ donnees ;
for(i=0;i<image.hauteur*image.largeur;i++){ fscanf(fpInput,"%d",&pixel); /*fpInput =fopen("image.bmp","r"); a faire au debut */ image.donnees[i/image.largeur][i%image.largeur]=(unsigned char)pixel }
Si tu as des questions, n'hésite pas.