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 :

cvRemap et valeurs négatives


Sujet :

OpenCV

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 97
    Points : 55
    Points
    55
    Par défaut cvRemap et valeurs négatives
    Bonjour,

    J'utilise la fonction cvRemap qui prend en paramètre "mapx" et "mapy" qui définissent les transformations à appliquer a l image.

    dst( x, y ) = src( mapx(x, y) , mapy(x, y ) ) d'après la documentation.

    Donc les éléments des "mapx" et "mapy" représentent des positions (des indices de lignes / colonnes ). Donc si j'ai bien compris, les valeurs contenues dans les deux "maps" sont sensées être entre 0 et les dimensions de l image, non ?

    Au debugger, des valeurs de "mapx" et "mapy" sont négatives. ( J ai bien déclaré les matrices en CV_32F ).

    Cela me parait étrange au vu de l'explication du fonctionnement de la fonction dans la doc.

    Les maps sont calculées via la fonction cvInitUndistortRectifyMap.

    Est - ce normal d'avoir des valeurs négatives ?

    Merci pour vos éclaircissements !

  2. #2
    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
    il s'agit des matrices de transformation donc il est tout à fait possible d'avoir des valeurs négatives

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 97
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Merci pour votre réponse !

    J 'ai finalement résolu mon problème. Je donne une petite explication, ca servira peut etre un jour a quelqu un Le probleme n en etait au final pas un ! ( je n obtenais pas les resultats attendus, donc je soupsonnais les maps d etre mal calculees. En fait, il s agissais d un probleme d affichage ...).

    En effet, il est tout à fait normal d'avoir des valeurs négatives dans les cartes mapx et mapy transmises à cvRemap(). Ce qui me perturbais, c'est que d'après la définition de la fonction dans la doc ( voir post 1), les valeurs contenues dans mapx et mapy sont sensées être des indices de lignes et de colonnes. Attention, les valeurs contenues dans les maps ne SONT PAS des décalages (du genre il faut decaler le pixel de tant ). Pour s'en convaincre, il suffit de creer un mapx avec la premiere ligne de 0, la seconde de 1, ... et la transposee pour mapy. On obtiens la meme image qu au depart, ce qui confirme qu il ne s agit pas de decalages.

    Exemple : Je cherche la valeur du pixel situé en position ( 25, 42 ) dans l'image de résultat. Pour cela, je vais voir dans mapx et dans mapy à cette même position, ce qui me donne deux valeurs, x0 = 6 et y0 = 110 (pour fixer les choses). Je dois donc aller voir dans l'image de départ en (6, 110) et j'obtiens la valeur que je cherchais, qui ira en ( 25, 42 ) dans l'image de résultat. On a bien une transformation de l'image de départ puisque ce sont ses pixels qui sont juste déplacés.

    Je pense avoir bien résumé le rôle de la fonction. Je me demandais alors comment il était posible d'avoir des valeurs négatives dans les mapx et mapx ! J ai donc codé une fonction, "RemapMaison" qui fait ce que j ai décrit plus haut. Quand j'ai une valeur négative dans l'une des deux maps, je mets le resultat a zéro. J'obtiens la meme chose que la fonction opencv, sauf que cvRemap fait une interpolation, donc l'image est plus jolie.

    Conclusion : quand on a une valeur négative (ou hors des bornes de l'image peut etre), la fonction cvRemap fixe une valeur (que l'on peut lui passer en parametre d ailleurs). Donc tu as entièrement raison !!!

    Encore merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/03/2006, 13h54
  2. Valeur négative de Spin Control
    Par Midou dans le forum MFC
    Réponses: 7
    Dernier message: 23/02/2006, 12h56
  3. valeur négative
    Par pascale86 dans le forum Access
    Réponses: 4
    Dernier message: 09/01/2006, 16h17
  4. Réponses: 4
    Dernier message: 23/09/2005, 14h15
  5. [MSDE][INSERT Auto]Valeur négative de PK
    Par papouAlain dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/09/2005, 14h28

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