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 :

Lire les pixels d'un fichier Tiff


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 123
    Par défaut Lire les pixels d'un fichier Tiff
    Bonjour à tous,
    Je travaille avec des images au format Tiff, échelle de gris 8bpp, et je voudrais pouvoir utiliser Bitmap.GetPixel(x,y)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Bitmap bmp = new Bitmap(imgFilePath);
    for (int j = 0; j < bmp.Width; j++)
    {
        for (int i = 0; i < bmp.Height; i++)
        {                                {
            System.Drawing.Color color = bmp.GetPixel(i, j); 
        }
    }
    Le problème est que color prend systématiquement la couleur blanche, alors que l'image tiff est évidemment pleine de valeurs de gris différentes.
    Il semble qu'il faille préciser d'une manière ou d'une autre l'encodage sur 8 bits, mais je ne trouve pas comment faire.
    Merci pour votre aide!

  2. #2
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par défaut
    Pourquoi tu fais ton parcours colonne après colonne au lieu de ligne après ligne ?

  3. #3
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Bonjour,

    J'ai essayé ton code avec une image TIFF tout en vérifiant qu'elle était bien en 8 bits / grayscale et GetPixel me donne bien les niveaux de gris.

    Le soucis ne se situerait pas ailleurs ? Comment est utilisée la couleur ? Et cette vilaine accolade { en trop n'est qu'une faute de copier / coller ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 123
    Par défaut
    Le parcours par colonne me simplifie les choses par rapport à ce que j'en fais derrière.
    Les images Tiff sur lesquelles je travaille sont fournies par un webservice, et elles semblent un peu particulières.
    Est-ce que tu peux tester avec l'exemple joint? Celui-ci s'ouvre correctement avec IrfanView par exemple, mais Photoshop n'en est pas capable, sans pour autant dire que le fichier est corrompu, simplement toutes les options d'ouverture proposées (choix d'un "profil" de niveaux de gris) débouchent sur une image intégralement blanche.
    Et effectivement, l'accolade est en trop!
    Fichiers attachés Fichiers attachés

  5. #5
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    En effet, les images là ont l'air un peu spéciales (j'admet que je connais très peu ce format)

    Le rendu sous XnView

    Nom : jA9AiDG.png
Affichages : 106
Taille : 788,5 Ko

    Le rendu sous Photoshop (après changement du mode de couleur)

    Nom : TngFZCQ.png
Affichages : 104
Taille : 79,8 Ko

    Je pense vu que la spécificité du format, il serait préférable de travailler directement avec une bibliothèque spécialisée dans les images TIFF, il y en a de très bonnes en .NET et surtout gratuites. (en espérant qu'un recours à une technologie tierce ne soit pas exclus par une quelconque contrainte).

    Il est aussi possible de bidouiller le format des pixels (la classe PixelFormat)en clonant le Bitmap directement, mais je n'ai pas essayé, peut-être que ça suffirait. Mais en l'état, je pense qu'il est impossible de lire simplement les données sans lui imposer une petite conversion.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 123
    Par défaut
    Oui, c'est ce que j'essaye de faire, en l'occurrence avec LibTiff.net, sans succès pour le moment.

    EDIT: J'y suis arrivé, à l'aide du code trouvé ici.
    Il s'avère que le fichier est en échelle de gris codés sur quatre octets.

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

Discussions similaires

  1. Lire les lignes d'un fichier avec csh
    Par nicolas581 dans le forum Linux
    Réponses: 4
    Dernier message: 24/03/2010, 16h38
  2. [JACOB] Lire les lignes d'un fichier Word
    Par djools45 dans le forum Documents
    Réponses: 2
    Dernier message: 25/05/2007, 15h34
  3. Lire les pixels de grandes images sans les ouvrir
    Par psicot dans le forum Multimédia
    Réponses: 1
    Dernier message: 16/04/2007, 18h59
  4. Lire les données d'un fichier .wav ?
    Par DelphLaga dans le forum Modules
    Réponses: 2
    Dernier message: 16/10/2006, 16h21
  5. Réponses: 5
    Dernier message: 20/08/2002, 18h01

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