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 :

TIFF images 16bits-RGBA comment les cannaux sont "entrelacés"?


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Par défaut TIFF images 16bits-RGBA comment les cannaux sont "entrelacés"?
    Bonjour,

    J'essaye de manipuler en C des images RGBA TIFF à 16-bits par canal,
    je n'ai pas trouvé d'information sur les images 16 bits dans les spécifications de la Libtiff, pourtant de telles images existent.

    pour des images RGBA à 8-bits par canal, chaque pixel est stocké dans un uint32, et peut être démélangé (ou "splité") en 3 composantes R,G,B et A de 8 bits chacune.
    Actuellement j'utilise la méthode suivante (voir code complet ici https://docs.google.com/file/d/0B7Bj...it?usp=sharing):

    1. je stock les pixels dans un pointeur uint32* (en utilisant la méthode TIFFReadRGBAImageOriented de la libtiff), j'appelle ce pointeur data_tiff
    2. je démélange grace aux méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (uint8) TIFFGetR(*data_tiff);
    (uint8) TIFFGetG(*data_tiff); 
    (uint8) TIFFGetB(*data_tiff); 
    (uint8) TIFFGetA(*data_tiff);
    Dans le cas où l'image utilise 16 bits par cannal, savez-vous comment on peut démélanger les pixels?
    Si j'avais accès aux données de l'image sous la forme d'un pointeur uint64 je pourrais facilement adapter mon code de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #define    TIFF16GetR(abgr)    ((abgr) & 0xffff)
    #define    TIFF16GetG(abgr)    (((abgr) >> 16) & 0xffff)
    #define    TIFF16GetB(abgr)    (((abgr) >> 32) & 0xffff)
    #define    TIFF16GetA(abgr)    (((abgr) >> 48) & 0xffff)
    1. je stock les pixels dans un pointeur uint64*
    2. je démélange grace aux méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (uint8) TIFF16GetR(*data_tiff);
    (uint16) TIFF16GetG(*data_tiff); 
    (uint16) TIFF16GetB(*data_tiff); 
    (uint16) TIFF16GetA(*data_tiff);
    Mais il semble que nativement les données ne soient pas stockées sous la forme d'un pointer uint64 bien que l'image soit RGBA 16 bits.

    J'ai aussi du mal a manipuler les images 16 bits en niveaux de gris avec la même démarche (utiliser TIFFReadRGBAImageOriented pour stockere les pixels dans un pointeur et essayer de convertir chaque pixel en uint16)

    Plus généralement, auriez vous de la doc sérieuse sur la manipulation des images TIFF 16 bits ?

    Merci,

    Rémy A.

  2. #2
    Membre éclairé Avatar de saad.hessane
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 315
    Par défaut
    Bonjour,

    Un exemple d'utilisation pour la lecture 16 bits : http://www.asmail.be/msg0055061984.html

    L'utilisation des images 16 bits est moins documentée car ça n'est pas très commun, et est réservée à des usages spécifiques.

    J’espère que cela t'aidera. J'attends ton retour.

Discussions similaires

  1. Comment les ontologies sont utilisées, concrètement ?
    Par spelou dans le forum Ontologies
    Réponses: 2
    Dernier message: 21/03/2012, 09h33
  2. [OpenOffice][Texte] Comment les images sont-elles stockées avec open office?
    Par LGnord dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 26/06/2009, 14h21
  3. Comment les CHAR sont stockés dans Firebird?
    Par badilou dans le forum Firebird
    Réponses: 3
    Dernier message: 27/05/2008, 16h57
  4. Comment savoir si les ScrollBar sont visibles sur un TRichEdit ?
    Par vanquish dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/10/2003, 10h28

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