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

OpenCV Discussion :

Accéder aux valeurs HSV


Sujet :

OpenCV

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 22
    Points : 25
    Points
    25
    Par défaut Accéder aux valeurs HSV
    Bonjour,

    Donc avec la bibliothèque OpenCV je prends une image, j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CvCvtColor (image, imageHSV, CV_RGB2HSV);
    Si je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CvScalar s;
    s=cvGet2D(imageHSV, 1, 1);
    std::cout <<s.val[0] << std::endl;
    Je pensais avoir la valeur H (Hue) qui doit être comprise entre 0 et 1, mais j'ai à la place une valeur qui est comprise entre 0 et 255 comme en RGB/

    Quand j'affiche imageHSV, je vois bien que m'ont image a été modifiée, mais cvGet2D () doit uniquement permettre de récupérer la valeur du pixel et c'est les valeurs en RGB.

    Je voudrais accéder à la valeur d’H, S et V... je ne vois pas comment faire et je n'est pas trouvé de fonction dans la documentation d'openCV qui permet de le faire...

    Merci de vos réponses.

  2. #2
    Membre régulier Avatar de hunta_kirua
    Profil pro
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 123
    Points
    123
    Par défaut
    Salut,

    Essaie d'utiliser la fonction cvCvtPixToPlane pour la conversion des pixels.

    A+

    Hunta
    newbie un jour, newbie toujours
    n'oubliez pas le

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Points : 44
    Points
    44
    Par défaut
    slt,
    tout d'abord fait attention que dans ton code si la variable "image" est une IplImage alors elle n'est pas en RGB mais en BGR (c'est le standard IPL) donc il faudra utiliser plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CvCvtColor (image, imageHSV, CV_BGR2HSV);
    Ensuite une fois que tu as créé ton image en HSV tu peux utiliser cette formule pour accéder à tes valeurs H, S ou V en x,y de ton image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (imageHSV->imageData + imageHSV->widthStep*y)[x*3+coloration]
    coloration = 0 si tu veux H
    coloration = 1 si tu veux S
    coloration = 2 si tu veux V

    Par contre H pour l'image est compris entre 0 et 180.
    Pour S et V c'est 0-255.
    Voila j'espère que ca a éclaircit quelques points pour toi.
    a+

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 22
    Points : 25
    Points
    25
    Par défaut
    Merci bien d'avoir résolu mon problème

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

Discussions similaires

  1. Accéder aux valeurs des éléments d'une matrice
    Par alvinleetya dans le forum OpenCV
    Réponses: 5
    Dernier message: 01/10/2012, 16h19
  2. Réponses: 2
    Dernier message: 08/10/2010, 11h15
  3. Comment accéder aux valeurs des champs de DetailsView?
    Par insane_80 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/07/2008, 21h12
  4. Réponses: 1
    Dernier message: 01/05/2007, 14h59
  5. accéder aux valeurs énoncées dans type enum ?
    Par ludophil dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/10/2006, 12h57

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