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 :

cvSetImageROI ou cvResetImageROI


Sujet :

OpenCV

  1. #21
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Points : 533
    Points
    533
    Par défaut
    si tu remarques bien y a un & devant son CV_IMAGE_ELEM et je ne sais pas à quoi cela correspond donc je cherche si je trouve je te réponds ^^

    et si tu trouve avant moi ben c'est toi qui me réponds

  2. #22
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    oui j'ai remarqué '&' j'ai cherché ce qu'il correspond mas aucune résultats
    mais j'ai pas arrête de rechercher

  3. #23
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Points : 533
    Points
    533
    Par défaut
    le & est la pour éviter de répéter 3 fois le CV_IMAGE_ELEM, y a un exemple similaire dans la doc de openCV :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    e.g. increasing brightness of point (100,100) by 30 can be done this way: 
     
    CvPoint pt = {100,100};
    ((uchar*)(img->imageData + img->widthStep*pt.y))[pt.x*3] += 30;
    ((uchar*)(img->imageData + img->widthStep*pt.y))[pt.x*3+1] += 30;
    ((uchar*)(img->imageData + img->widthStep*pt.y))[pt.x*3+2] += 30;or more efficiently 
     
    CvPoint pt = {100,100};
    uchar* temp_ptr = &((uchar*)(img->imageData + img->widthStep*pt.y))[pt.x*3];
    temp_ptr[0] += 30;
    temp_ptr[1] += 30;
    temp_ptr[2] += 30;
    Donc les pointeurs utilisés pointe sur les 3 channels, l'explication que je donne est donc bonne il s'agit des 3 channels. Le pourquoi de il les utilise en tant que coordonnée je ne sais pas.

    Le but général du programme est de faire quoi ?

    (je pencherais pour une utilisation détournée)

  4. #24
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    après la recherche le seul doc qui j'ai lr trouvé utilisé "&" est cette page

  5. #25
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut
    CV_IMAGE_ELEM c'est juste une macro pour simplifier l'acces bas niveau aux valeurs d'un pixel. Elle est definie comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /* get reference to pixel at (col,row),
       for multi-channel images (col) should be multiplied by number of channels */
    #define CV_IMAGE_ELEM( image, elemtype, row, col )       \
        (((elemtype*)((image)->imageData + (image)->widthStep*(row)))[(col)])
    Si jamais c'est toujours pas clair, expliquez en detail ce qui vous pose probleme.

  6. #26
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Points : 533
    Points
    533
    Par défaut
    pour moi pas de problème ca correspond au valeur du pixel celon les channels, un pointeur sur la couleur du pixel

  7. #27
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut
    mais quelle est l'utilité de récupérer les canaux de l'image ?
    je sais que son objectif de multiplication est de trouvé la nouvelle position du pixel qui est (u2,v2)
    Desole, je viens de regarder le code de la page http://www.koders.com/cpp/fid21C089B...x?s=opencv#L45 et je comprends ce qui vous pose probleme. Le CV_IMAGE_ELEM fait bien exactement ce que jai dit, la particularite ici c'est que pCoords n'est pas une image ordinaire, elle est declaree comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IplImage* pCoords = pmd_level.m_pCoords;
    En fait c'est un tableau d'informations (contenant des coordonnees tout simplement) calcules precedemment et qui est passe en parametre a la methode. Ce qui vous pose probleme c'est qu'il est choisi une structure IplImage pour stocker ces informations, mais au final c'est une strucure qui peut etre utilisee pour stocker autre chose que l'intensite des pixels.

  8. #28
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    ah j'ai compris merciiiiiiiiiiiiiiii glen1789
    mais désolé
    En fait c'est En fait c'est un tableau d'informations (contenant des coordonnees tout simplement) calcules precedemment et qui est passe en parametre a la methode. Ce qui vous pose probleme c'est qu'il est choisi une structure IplImage pour stocker ces informations, mais au final c'est une strucure qui peut etre utilisee pour stocker autre chose que l'intensite des pixels. d'informations (contenant des coordonnees tout simplement) calcules precedemment et qui est passe en parametre a la methode. Ce qui vous pose probleme c'est qu'il est choisi une structure IplImage pour stocker ces informations, mais au final c'est une strucure qui peut etre utilisee pour stocker autre chose que l'intensite des pixels.
    comment vous avez compris ça ou comment vous avez trouvé que pCoords est un tableau . ?

  9. #29
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Points : 533
    Points
    533
    Par défaut
    le coup du tableau c'est de l'expérience je dirais non ? j'avais remarqué le passage par la fonction mais aucune idée de ce que c'était

  10. #30
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    e coup du tableau c'est de l'expérience je dirais non ?
    je ne pense pas que vous avez me dit . mais comment de l'expérience ? est ce qu'il existe une ligne qui représente que c'est un tableau ou comment il a rempli ce tableauj'ai rien trouvé

  11. #31
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    j'ai lu une autre fois( plus d'une fois) le code et j'ai pas trouvé quelque chose qui montre que
    pCoords c'est un tableau

  12. #32
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut
    En fait c'est juste en regardant l'utilisation qu'il en fait qui m'a fait comprendre que ce n'etait pas une image mais un tableau d'informations (coordonnees des pixels). En cherchant un peu je suis tombe sur la declaration de sa classe, ca t'aidera peut-etre a comprendre :
    http://www.koders.com/cpp/fidBDC1C29....aspx?s=opencv

  13. #33
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    oui j'ai vu cette déclaration mais j'ai pas trouvé ou il a rempli les X,Y,Z
    il a fait des initialisation mais il n'a rien modifié

  14. #34
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut
    Si tu cherche ca je te conseille d'aller voir du cote du main si il est dispo, je pense que si tu trouves pas une reponse directement dedans au moins tu trouveras une piste sur quelle fichier initialise pCoords. Sinon il y a l'autre technique c'est de telecharger son programme et de le faire tourner pour voir ce qu'il y met dedans.

  15. #35
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    merci glen1789 je vais le voir

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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