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

MATLAB Discussion :

Dessiner les espaces de couleurs RGB et HSV


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut Dessiner les espaces de couleurs RGB et HSV
    bonjour,
    je veux dessiner la représentation 3d des espaces de couleurs RGB et HSV mais je ne sais pas par où commencer.

  2. #2
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut,
    Tu peux nous expliquer ce que tu images dessiner? Peut être faire un dessin? Ta question est très vague, précise ta pensée pour obtenir des réponses.
    Les dessins 3D matlab se font avec plot3, mesh ou surf par exemple.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    salut,
    je veux dessiner :
    - le cube RGB
    - le cône HSV
    - le double cône HSL
    et d'une manière générale, tout espace de couleurs que je veux dessiner
    merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Quel problème(s) rencontres-tu ? As-tu essayé de coder quelque chose ?
    N'hésite pas à nous montrer ce que tu as essayé de coder, même si c'est faux.

    Un exemple avec le cône HSV :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    N = 20;
    [X,Y,Z] = cylinder(linspace(0,1,N), N);
    Z(end+1,:) = 1;
    X(end+1,:) = 0;
    Y(end+1,:) = 0;
    [theta,rho,z] = cart2pol(X,Y,Z);
    hsv = cat(3, (theta+pi)/(2*pi), rho, z);
    surf(X, Y, Z, hsv2rgb(hsv), 'EdgeColor', 'none', 'FaceColor','interp');
    axis off
    Nom : cone_HSV.png
Affichages : 543
Taille : 8,9 Ko
    Dernière modification par Invité ; 11/04/2014 à 22h14.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    salut
    merci pour le code
    mais je veux quelque chose qui peut s'appliquer à n'importe quelle situation, quelque chose comme :
    1. générer les triplets RGB
    2. générer les triplets HSV ou HSL ou autre espace de couleurs
    3. dessiner ces triplets
    je ne sais pas comment procéder et quelle instruction utiliser : plot3d, surface, ...
    merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Mon code précédent génère ces triplets et les dessine, inspire t-en pour faire ce que toi tu veux
    Et comme dit, n'hésite pas à montrer ce que tu as essayé de faire, cela nous aidera à comprendre.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    salut
    voici l'horreur que j'ai pu réaliser
    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    figure
    hold on
    for r = 0 : 0.05 : 1
     for g = 0 : 0.05 : 1
      for b = 0 : 0.05 : 1
       [h, s, v] = rgb2hsv([r g b]);
       plot3(h, s, v, '.', 'Color', [r g b])
      end
     end
    end
    hold off
    grid on
    c'est vrai que je ne vois pas le cône, mais ça explique en gros ce que je veux : il faut juste changer rgb2hsv pour avoir une autre représentation pour un autre espace de couleurs
    merci

  8. #8
    Invité
    Invité(e)
    Par défaut
    Les fonctions plot, plot3 servent à tracer des courbes ou points, en aucun cas des surfaces comme dans mon message précédent.
    Pour ce faire on utilise des objets Surface ou Patch qui peuvent être créés avec des fonctions comme surf ou patch.

    Je te suggère les deux liens suivants pour te faire une idée des possibilités :

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    salut

    je vais reformuler le problème pour mieux comprendre

    soit l'ensemble :
    E = [0, 1] x [0, 1] x [0, 1]

    et soit l'application :
    f : E ---------------> E x E
    (r, g, b) ---------------> ((c1, c2, c3), (r, g, b))
    qui transforme la couleur (r, g, b) en un autre espace de couleurs avec une éventuelle conversion de (c1, c2, c3) en coordonnées cartésienne et lui associe la couleur (r, g, b) pour pouvoir dessiner ce point par la suite

    comment faire pour :
    générer E
    dessiner f(E) dans un repère orthonormé

    c'est ce que j'essayais de faire dans le post précédent, sachant que j'ai oublié de faire une conversion vers les coordonnées cartésiennes

    merci

  10. #10
    Invité
    Invité(e)
    Par défaut
    Vouloir faire l'affichage au avec autant de points est complètement inutile !
    Prend le cube : tu as juste besoin des six faces, le reste est caché à l'intérieur.
    Idem le cône que j'ai fait : tu génères le disque du dessus, la face extérieure du cône, et c'est tout.

    Pour le parallèle coordonnées - couleurs, observe mon exemple, je commence par générer les coordonnées et calcule mes couleurs à partir d'elles, sachant que les valeur hsv sont dans l'intervalle [0 1].

    Prend bien le temps de consulter mes liens, tout pourras y voir quelque chose qui ressemble fortement à ce que tu souhaites faire

Discussions similaires

  1. BufferedImage et les espaces de couleurs (ColorSpace)
    Par ToTo13 dans le forum AWT/Swing
    Réponses: 43
    Dernier message: 12/02/2013, 23h39
  2. Réponses: 0
    Dernier message: 20/01/2010, 10h57
  3. Réponses: 4
    Dernier message: 07/10/2009, 02h50
  4. les espaces RGB et HSV
    Par mspeach dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 07/10/2008, 11h50
  5. [listings] les espaces sont dessinés !
    Par michaeljeru dans le forum Mise en forme
    Réponses: 2
    Dernier message: 02/05/2007, 15h45

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