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

Traitement d'images Discussion :

Conversion RGB vers YCbCr et autres


Sujet :

Traitement d'images

  1. #1
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut Conversion RGB vers YCbCr et autres
    Salut à tous, ma question est simplissime. Comment créer la matrice de conversion d'un domaine vers un autre.
    RGB vers YCbCr n'est pas sans pertes, mais il y a une "norme", il existe YCoCg qui permet d'avoir les chrominances orange et verte...
    Bref, si je veux une chrominance violette et une verte par exemple, je fais comment pour "deviner" quelle tête a la matrice ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [Y     [ a b c    [R
     Cv =   d e f  *  G
     Cg]     g h i ]    B]
    Comment trouver les coefficients ?
    Et du coup, il faut que ce soit réversible...

    Merci d'avance de vos réponses !

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Une info sur les RCT (reversible color transformation) en Annex G2 :
    http://ieeexplore.ieee.org/Xplore/lo...number=1037564

  3. #3
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Je dois être complètement miro...Je ne trouve pas l'annexe G...

  4. #4
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Salut il faut définir le triplet de vecteurs propres de ton espace d'arrivée en fonction des vecteurs propres de ton espace de départ.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    YC1C2_1 = Matrice * RGB_1
    YC1C2_2 = Matrice * RGB_2
    YC1C2_3 = Matrice * RGB_2
     
    ou 
           YC1C2_i = transposée de [y_i, C1_i, C2_i] 
    et
           RGB_j = transposée de [R_j, G_j, B_j]
    Tu définis toi meme YCIC2_1, YCIC2_2 et YCIC2_3 dans RGB de façon à obtenir ce que tu veux (fait attention à ne pas en prendre un qui soit combinaison linéaire des 2 autres).

    Ensuite via l'égalité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [YC1C2_1   YC1C2_2   YC1C2_3] = Matrice * [RGB_1   RGB_2   RGB_3]
    tu obtiens une égalité entre 1 matrice 3x3 et le produit de 2 matrices 3x3. Puis, via une inversion de matrices tu trouves Matrice.

    Voilà

    A+

    Flo

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Je dois être complètement miro...Je ne trouve pas l'annexe G...
    Mais non. c'est juste moi qui suis distrait.
    Voici le "bon" lien :
    http://www.itscj.ipsj.or.jp/sc29/ope...w/_Toc98677374

  6. #6
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Flo: Je suis désolé, je me suis accroché, mais je n'ai pas tout saisi...
    Peux-tu tenter d'éclaircir ?

    Graffito: Tu as encore raté ton copier/coller ou c'est moi ?

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Encore raté. j'y crois pas!

    Ce coup-ci je vérifie :
    http://www.tele.ucl.ac.be/~descampe/doc/normej2k.pdf

    C'est bon.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,

    J'ignore si tu y trouveras la réponse voulue, mais il y a pas mal de trucs pour la gestion des couleurs sur ce site : http://semmix.pl/color/

  9. #9
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Salut,

    voilà l'idée ... très critiquable à mon avis.

    Voilà les contraintes sur 3 triplets ; le violet et le vert qui sont portent en YC1C2 2 des 3 vectors directeurs de l'espace YC1C2. Pour le 3eme vecteur j'ai utilisé le jaune mais je crois pas que ce soit bon.
    Pour la luminance, j'utilise la formule suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Y = + 0.299 * R + 0.587 * G + 0.114 * B
     
            	  RGB                 YC1C2
    jaune       [255, 255,   0]t    [ 76,   0,   0]t    
    violet      [255,   0, 255]t    [105, 255,   0]t
    vert        [  0, 255,   0]t    [150,   0, 255]t
    J'ai mis les chrominances à 0 pour le jaune.

    Je ne sais pas si pris les meilleures contraintes.

    On veut donc trouver la matrice Mat 3x3 qui permet de résoudre les contraintes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    |226|         |255|   
    |  0| = Mat * |255|
    |  0|         |  0|
     
    |105|         |255|   
    |255| = Mat * |  0|
    |  0|         |255|
     
    |150|         |  0|   
    |  0| = Mat * |255|
    |255|         |  0|
    Ce qui nout amene donc à l'égalité suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    |226 105 150|         |255 255   0|
    |  0 255   0| = Mat * |255   0 255|
    |  0   0 255|         |  0 255   0|
    Le résultat n'est pas bon (du moins peut crédible pour une conversion colorimétrique).

    Par contre en regardant les liens fournis dans les réponses, je m'aperçois qu'on retire des composantes R,G et B, pour le calcul des chrominances, la luminance Y calculée. Cette soustraction permet d'obtenir l'écart de chacune des composantes à la moyenne pondérée. Faudrait peut-être introduire cet aspect dans la formule.

    A noter que je ne sais pas si mon raisonnement est bon et j'ai pas le courage d'aller plus loin.

    Flo.

Discussions similaires

  1. [Débutant] transformation couleur RGB vers YCbCr
    Par okitrinaw dans le forum Images
    Réponses: 2
    Dernier message: 20/04/2012, 17h28
  2. Graphisme conversion RGB vers hexachromie
    Par colorid dans le forum Langage
    Réponses: 21
    Dernier message: 29/09/2008, 12h24
  3. Conversion de l'espace RGB vers RGB normalisé
    Par hanane78 dans le forum Images
    Réponses: 5
    Dernier message: 16/08/2007, 13h38
  4. conversion access vers autre base de données
    Par Anthony17 dans le forum Access
    Réponses: 1
    Dernier message: 16/06/2006, 13h50
  5. Conversion yuv vers rgb en hardware
    Par pifpanfpouf dans le forum DirectX
    Réponses: 1
    Dernier message: 20/03/2006, 14h00

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