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 :

les espaces RGB et HSV


Sujet :

Traitement d'images

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut les espaces RGB et HSV
    Bonjour,j'espere que vous allez tous bien.
    j'ai des questions concernant la représentation des images dans l'espace RGB ainsi que HSV.
    j'ai cette portion de code qui calcule l'hiatogramme des trois composantes RGB et les insere dans un tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     imgRGB = imread(fichCur,extension);
       %obtention de la premiere composante RGB et son insertion dans descripteurs
       r=imhist(imgRGB(:,:,1));
       descripteurs(I,1:256)=r(1:256);
       %obtention de la deuxieme composante RGB et son insertion dans descripteurs
       v=imhist(imgRGB(:,:,2));
       descripteurs(I,257:512)=v;
       %obtention de la troisieme composante RGB et son insertion dans descripteurs
       b=imhist(imgRGB(:,:,3));
       descripteurs(I,513:768)=b;
    ma question est:si je veux comparer deux images par leur histogrammes des trois composantes, est ce que je peux utiliser une distance(au choix) entre les histogrammes de couleurs deux à deux (R,R;V,V;BB) et ensuite faire la somme des trois distance pour avoir la distance globale?
    ensuite je souhaite faire la meme chose avec l'espace HSV.
    j'ai converti l'image vers l'espace HSV comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     % conversion vers l'espace hsv
     imgRGB = imread(fichCur,extension);
       hsv_image = rgb2hsv(imgRGB);
    ensuite je calcule l'histogramme our chacune des composantes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     %obtention de la premiere composante hsv et son insertion dans descripteurs hsv
       hsv_image_hue=imhist(hsv_image(:,:,1));
       descripteur_hsv(I,1:256)= hsv_image_hue;
       %obtention de la deuxieme composante hsv et son insertion dans descripteurs hsv
       hsv_image_saturation=imhist(hsv_image(:,:,2));
        descripteur_hsv(I,257:512)= hsv_image_saturation;
        %obtention de la troisieme composante hsv et son insertion dans descripteurs hsv
       hsv_image_value=imhist(hsv_image(:,:,3));
        descripteur_hsv(I,1:256)=hsv_image_value;
    est ce que je peux faire la meme chose pour cet espace pour la comparaison des images.
    ma deuxieme question (meme si elle vous parrait bete):j'ai affiché l'image après sa conversion vers l'espace HSV mais elle ne ressemble pas du tout à la premiere. est ce que c normal?.
    une autre question:si je veux comparer deux images dans cet espace est ce je me contente d'utiliser la premiere composante (hue) ou je les utilise toutes?
    veuillez me conseiller. j'ai besoin de toute information concernant la comparaison des images et les espaces couleur.
    je m'excuse pour ce message long (je débute avec matlab et l'imagerie)et merci d'avance.
    à bientot.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Cette discussion concerne plus l'algorithmique que MATLAB... je la déplace donc dans le forum approprié

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Il y a plusieurs mesures de distance pour les histogrammes 3D. Les 2 que j'utilise le plus couramment sont:

    - la distance euclidienne : d(H1,H2) = Racine{ somme(H1.x-H2.x)² + somme(H1.y-H2.y)² + somme(H1.z-H2.z)² }

    - la distance d'intersection : d(H1,H2) = { somme(min(H1.x,H2.x)) + somme(min(H1.y,H2.y)) + somme(min(H1.z,H2.z)) } / min(H1.samples,H2.samples)


    La distance d'intersection sur les histogrammes HSV donne de bons résultats.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut merci
    merci pseudocode. mais que voulez vous dire par H1.samples.est ce que c'est le nombre de bin ou c'est quoi exactement.
    merci pour tout.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut transformation entre espaces
    Bonjour
    personne ne m'a répondue sur la question concernant la transformation entre espaces. la transformation entre l'espace RGB et SHV aboutit à une image différente est ce que c normal. meme chose s'est produite avec l'espace XYZ.
    Merci à tous

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par mspeach Voir le message
    merci pseudocode. mais que voulez vous dire par H1.samples.est ce que c'est le nombre de bin ou c'est quoi exactement.
    merci pour tout.
    oui, c'est le nombre total d'echantillons dans l'histogramme. Cela permet d'avoir une distance comprise entre 0 et 1.

    Citation Envoyé par mspeach Voir le message
    Bonjour
    personne ne m'a répondue sur la question concernant la transformation entre espaces. la transformation entre l'espace RGB et SHV aboutit à une image différente est ce que c normal. meme chose s'est produite avec l'espace XYZ.
    Merci à tous
    Quelles images ?

    Tu parles des 3 images (en niveau de gris) obtenues en projetant ton image couleur de départ sur les 3 plans (R/G/B ou H/S/V) ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut Merci en core pseudocode
    je veux faire si tu vous voulez une petite comparaison entre les performances des espaces couleur RGB, HSV, XYZ. et je possède une base d'images de mille images couleur jpeg. j'ai utilisé une fonction dans Matlab qui convertit une image RGB vers une image HSV et encore en image XYZ. j'ai affiché les images HSV et XYZ sur écran et elles ne ressemblent pas à celle de RGB. est ce que c normal? merci.

  8. #8
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par mspeach Voir le message
    J'ai affiché les images HSV et XYZ sur écran et elles ne ressemblent pas à celle de RGB. est ce que c normal? merci.
    C'est quoi une "image HSV" pour toi ?

    C'est une image RGB dans laquelle tu as remplacé les valeurs de R par les valeurs de H, et ainsi de suite ? Dans ce cas, c'est normal que ca affiche n'importe quoi.

    http://en.wikipedia.org/wiki/HSV_color_space
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Dessiner les espaces de couleurs RGB et HSV
    Par marko1587 dans le forum MATLAB
    Réponses: 9
    Dernier message: 04/04/2014, 19h15
  2. Réponses: 4
    Dernier message: 07/10/2009, 02h50
  3. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  4. Enlever les espaces
    Par Claythest dans le forum Langage
    Réponses: 6
    Dernier message: 03/06/2003, 14h43
  5. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 09h44

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