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

Bibliothèques Discussion :

Récupérer les données d'un fichier image


Sujet :

Bibliothèques

  1. #1
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut Récupérer les données d'un fichier image
    Salut,

    je sais que le problème a été traité plusieurs fois mais rien n'a pu eclaircir mon cerveau! je souhaite recupérer les données(longueur,largeur,valeur des pixels,...) d'une image(JPEG ou BMP) en C ! j'ai bien vu qu'une bibliotheque Devil existait mais le probleme c'est que pour des questions de portabilité je ne peux pas utiliser de bibliotheque( seulement des *.h) ! Sinon j'ai trouvé le fichier Cimg.h mais il est pour C++ (enfin si j'ai bien compris)!

    bref existe t'il un fichier *.h permettant le traitement d'image? ou alors des sources qui pourraient m'aider...

    en tout cas merci d'avance

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    bonjour,

    Citation Envoyé par Jim_Nastiq
    bref existe t'il un fichier *.h permettant le traitement d'image? ou alors des sources qui pourraient m'aider...
    Les fichiers d'en tête (avec l'extension .h) ne sont que la partie visible d'une bibliothèque.

    Si tu ne veux pas réutiliser du code existant, tu n'as plus qu'as te plonger dans les spec des formats jpeg et bmp : http://www.wotsit.org/

  3. #3
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    ca ne me derange pas de reutiliser du code existant mais je ne peux pas utiliser de bibliotheque avec des dll(raison de portabilité)
    Et pour le header dont je parlais c'etait plus parce que le fichier Cimg.h fonctionne comme une librairie mais suffit a lui meme pour son fonctionnement (je sais pas si je suis clair )

    donc en gros si tu as deja vu ou fait des codes sources qui font du traitement d'image sans Devil ou autres je suis preneur

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Jim_Nastiq
    ca ne me derange pas de reutiliser du code existant mais je ne peux pas utiliser de bibliotheque avec des dll(raison de portabilité)
    What the frell ? Quel problème ? Une DLL Win32, ça fonctionne sur toute machine Windows récente, même Vista, non ?
    Pas de Wi-Fi à la maison : CPL

  5. #5
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    j'ai pas dis le contraire

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Jim_Nastiq
    j'ai pas dis le contraire
    Alors c'est quoi le problème de portabilité ?

    Je ne comprends pas.
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Le projet dans sa globalité nécessite d'être mis a disposition sur plusieurs poste(via le reseau) et donc c'est pas franchement envisageable d'installer une nouvelle biblioteque sur tout les postes!

    c'est clair ou pas?

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  8. #8
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Jim_Nastiq
    Le projet dans sa globalité nécessite d'être mis a disposition sur plusieurs poste(via le reseau) et donc c'est pas franchement envisageable d'installer une nouvelle biblioteque sur tout les postes!
    Ben pourquoi pas ? C'est une pratique courante avec des tas de logiciels (runtime). Je ne vois pas en quoi c'est génant ou compliqué. Tu fais un zip et hop.
    Pas de Wi-Fi à la maison : CPL

  9. #9
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Oui je sais comment faire!C'est pas le probleme!
    Dans ce projet c'est a éviter! je veux juste savoir si il existe(a l'image de Cimg) un header sur le traitement d'image en C ou bien tout simplement si Cimg est compatible C . Ou bien encore si des sources sont disponibles sur le net pouvant m'aider.

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  10. #10
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Jim_Nastiq
    je veux juste savoir si il existe(a l'image de Cimg) un header sur le traitement d'image en C
    Tu as ouvert CImg.h ?

    Pour te passer de dll, tu as deux solutions :
    • Lier les bibliothèques statiquement
    • Incoporer le code à ton projet (ce qui revient au même mais en moins propre)



  11. #11
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par gege2061
    Tu as ouvert CImg.h ?
    Oui, c'est un paquet de templates C++.

    http://cimg.sourceforge.net/reference/CImg_8h.html
    Pas de Wi-Fi à la maison : CPL

  12. #12
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Citation Envoyé par gege2061

    Pour te passer de dll, tu as deux solutions :
    • Lier les bibliothèques statiquement
    • Incoporer le code à ton projet (ce qui revient au même mais en moins propre)



    Ok merci pour ta réponse! mais du coup je me pose une autre question : pour lier statiquement la bibliotheque au projet il suffit d'ajouter les header et les librairie au projet,c'est bien ca?(parce que c'est ce que j'ai tenté betement mais ca n'a pas fonctionné)


    Sinon j'ai lu que pour le bitmap il etait tres simple de recupérer les valeurs en C ! en effet j'arrive a avoir la taille de l'image mais pour ce qui est des données(valeurs des pixels) je ne vois pas!

    mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int i,lSize;
     
    	FILE *file = fopen("montage000.bmp","rd");
     
    	fseek (file , 0 , SEEK_END);            
    	lSize = ftell (file);
    	printf("%d \n",lSize);
    	for(i=0;i<lSize;i++)
    	{
     		fonction_qui_recupere_les_données??(file);
     	}

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  13. #13
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Bon j'ai trouvé une doc sur les fichiers bitmap ou il est expliqué simplement comment est codé le bitmap et il semble facile de récupérer les données avec la fonction fread cependant j'ai du mal a comprendre comment elle fonctionne! voici une partie du code que j'ai trouvé :

    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
    bitmap* lecture(char* nom)
    {
    	unsigned char temp[4];	// chaine de carac temporaire qui sera utilisé pour récupérer les différentes infos 	
    	bitmap *bmp;		// variable renvoyée par la fonction
    	FILE * fichier;		// un pointeur sur FILE
    	bmp=(bitmap*)malloc(sizeof(bitmap)); // on alloue dynamiquement le pointeur sur bitmap
    	fichier = fopen (nom,"r");     // on ouvre le fichier en lecture seule
    	fread (bmp->sign,2,1,fichier);	// on récupère la signature
    	fread (&temp,4,1,fichier);	// puis la taille de l'image	
    	bmp->taille = conv (temp,4);   // que l'on converti en décimal 
    	fread (&temp,4,1,fichier);	// la zone réservée	
    	fread (&temp,4,1,fichier);	// l'offset	
    	bmp->offset = conv (temp,4);	// que l'on converti aussi 
    	fread (&temp,4,1,fichier);	// taille de la zone info	
    	bmp->info = conv (temp,4);
    	fread (&temp,4,1,fichier);	// la largeur de l'image	
    	bmp->largeur = conv(temp,4);
    	fread (&temp,4,1,fichier);	// la hauteur de l'image	
    	bmp->longueur = conv(temp,4);
    	fread (&temp,2,1,fichier);	// le nombre d'info	
    	bmp->nbplan = conv (temp,2);   
    	fread (&temp,2,1,fichier);	// le mode d'affichage	
    	bmp->bppixel = conv (temp,2);  
    	fread (&temp,4,1,fichier);	// le format de compression	
    	bmp->comp = conv (temp,4);     
    	fread (&temp,4,1,fichier);	// la taille de l'image	
    	bmp->tim = conv (temp,4);
    	fread (&temp,4,1,fichier);	// les résolutions horizontale
    	bmp->Hres = conv (temp,4);	// et verticale
    	fread (&temp,4,1,fichier);		
    	bmp->Vres = conv (temp,4);
    	fread (&temp,4,1,fichier);		
    	bmp->nbco = conv (temp,4);	// nbre de couleurs utilisées
    	fread (&temp,4,1,fichier);		
    	bmp->impco = conv (temp,4);	// nbre de couleurs importantes
    	fclose (fichier);		// on ferme le fichier
    	bmp->pixel=(unsigned char*)malloc(sizeof(bmp->taille));
    	fread(bmp->pixel,1,bmp->taille,fichier);
    	return bmp;		// on retourne le pointeur sur la structure bitmap
    }
    je ne comprends pas comment il arrive a récupérer avec fread toutes ces données en ayant a chaque fois les memes parametres en entrée

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

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

Discussions similaires

  1. Récupérer les données d'un fichier audio
    Par RangerLight dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/12/2007, 16h57
  2. Réponses: 24
    Dernier message: 25/09/2007, 11h53
  3. Réponses: 3
    Dernier message: 21/06/2007, 01h10
  4. Réponses: 3
    Dernier message: 14/03/2007, 15h30
  5. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39

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