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 :

Changer la teinte d'un pixel


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 1
    Par défaut Changer la teinte d'un pixel
    Bonjour,

    Je suis à la recherche d'un algorithme pour modifier la teinte d'un pixel.
    J'ai hésité à poster ici ou dans la section algorithme, mais, étant donné la nature du code, j'ai préférer poster ici. J'espère avoir bien fait...

    Voici le problème :

    Chaque pixel est défini par un tableau de taille 3 :

    col[0] = R
    col[1] = G
    col[2] = B

    R,G,B ∈ [0,1]

    Je parcours tous les pixels d'une image grâce à une boucle. Je souhaiterais modifier la teinte de ces pixels suivant la valeur :

    hue ∈ [0,360]

    Je ne vois pas comment m'y prendre simplement. Avec les recherches que j'ai effectuées, je pensais me baser sur un modèle du style HSB ou HSV où il faudrait que je convertisse mes valeurs RGB pour récupérer les valeurs S et B (ou S et V) correspondante, puis, en ajoutant la teinte (H) en troisième composante, reconvertir en RGB. Ce qui donnerait quelque chose du genre :

    //hsv[0] = H;
    //hsv[1] = S;
    //hsv[2] = V;

    hsv = rgb2hsv(col);
    hsv[0] = hue;
    col = hsv2rgb(hsv);

    Cependant, je ne sais même pas si ça fonctionnerais et je me demande s'il n'y a pas plus simple étant donné que je n'utilise pas la saturation ni la luminosité et que les fonctions de conversion entre RGB et HSV sont relativement compliquées.

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    hsv[0] = hue;
    hsv[1] = 1;
    hsv[2] = 0.5;
    col = hsv2rgb(hsv);

    plus simple... juste pas possible

    Les couleurs TSV ne sont pas toute representable avec le système RGB.
    Les convertions ne sont donc pas reversible.

Discussions similaires

  1. Changer la couleur d'un pixel d'une texture 2D
    Par Lyofen dans le forum XNA/Monogame
    Réponses: 4
    Dernier message: 19/12/2012, 15h27
  2. Changer la couluer d'un pixel d'une image
    Par Julien666 dans le forum Débuter
    Réponses: 2
    Dernier message: 27/01/2011, 17h10
  3. Changer la couleur d'un pixel avec VTK
    Par Romuuuuu dans le forum C++
    Réponses: 1
    Dernier message: 23/04/2008, 11h08
  4. Comment changer la teinte d'une couleur ?
    Par Hell dans le forum Langage
    Réponses: 6
    Dernier message: 06/12/2007, 13h12
  5. [FLASH MX2004] Changer la teinte d'un clip
    Par pierrot10 dans le forum Flash
    Réponses: 10
    Dernier message: 07/11/2005, 00h14

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