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

Discussion :

Colorer l'affichage d'une image monochrome

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 171
    Points : 75
    Points
    75
    Par défaut Colorer l'affichage d'une image monochrome
    Bonjour à tous,

    je me heurte à un problème d'affichage : j'ai écris un petit programme permettant de superposer deux images :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    *leftImg = im.copy(0, 0, 512/2, 512);
                leftImg->setColorTable(redTable);
                *rightImg = im.copy( 256, 0, 512/2,  512);
                rightImg->setColorTable(greenTable);
                QPainter painter(dualViewImg);
                painter.drawImage(0, 0, *leftImg);
                painter.setCompositionMode(QPainter::CompositionMode_Overlay);
                painter.drawImage(0, 0, *rightImg);
                display->setPixmap(QPixmap::fromImage(dualViewImg->scaled(Xmaxi/2, Ymaxi)));
    Si la combinaison marche, je n'arrive pas à assigner à chacune des deux images (leftImg et rightImg) une couleur spécifique. Je voudrais que leftImg soit rouge et rightImg soit verte pour que sur l'image finale les parties communes s'affichent en jaunes.

    j'ai essayé sans succès la fonction setColorTable avec les deux tables définies ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        QVector<QRgb> redTable (256);
        QVector<QRgb> greenTable (256);
        for (int i = 0 ; i < 255; i++)
        {
            redTable[i] = qRgb(i, 0, 0);
            greenTable[i] = qRgb(0, i, 0);
        }
    merci d'avance pour votre aide.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 579
    Points
    218 579
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Pour faire une superposition, il faudrait que les deux images soit transparentes (environs à 50 % chacune je pense). Vous pourriez voir ce que cela fait dans GIMP d'ailleurs.
    Ma solution serait plutôt de faire la comparaison à la main et, de cette comparaison, créer une toute nouvelle image avec la couleur adéquate.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 171
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    merci pour votre réponse. pour ce qui est de la superposition, j'utilise le mode CompositionMode_Overlay et j'ai pu m'assurer que la transparence n'était pas en cause puisque dans l'état actuel du programme la composition fonctionne. c'est juste qu'elle est grise...
    et je ne peux pas faire les compositions à la main, les images proviennent d'une caméra.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 579
    Points
    218 579
    Billets dans le blog
    120
    Par défaut
    Pour utiliser setColorTable() il faut que l'image soit en couleur indexé. Ce dont je ne suis pas sur pour votre cas (niveau de gris != de indexé).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 171
    Points : 75
    Points
    75
    Par défaut
    Justement, c'est ce que je cherche à savoir, c'est comment passer d'une image en niveau de gris à une image en couleur indexé.

Discussions similaires

  1. [Tomcat] Affichage d'une image
    Par david71 dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 15/02/2005, 11h37
  2. Réponses: 2
    Dernier message: 27/12/2004, 09h23
  3. Pbs d'affichage d'une image sur un panel
    Par ysr1 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/09/2004, 09h55
  4. [FLASH MX] Qualité d'affichage d'une image
    Par n_tony dans le forum Flash
    Réponses: 3
    Dernier message: 16/08/2004, 09h44
  5. Affichage d'une image sous linux
    Par Braim dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 25/03/2003, 10h41

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