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 :

Décalage avec cvSet2D et cvShowImage


Sujet :

OpenCV

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 11
    Par défaut Décalage avec cvSet2D et cvShowImage
    Bonjour

    je suis entrain de réaliser un bout de programme où le but est d'effectuer un seuillage sur une image en niveau de gris.
    Pour cela j'ai fait une image en 10*10 pour voir plus facilement les résultats de mon prog.

    Mon prog fait la chose suivante :

    J'ai une première image , je teste les intensités de mes 100 pixels , je recopie les pixels et leur intensité dans une autre image mais si un pixel a une intensité inférieure à 230 , l'intensité du pixel correspondant dans la deuxième image vaut 0.

    En gros sur ma deuxième image , les pixels dont l'intensité est supérieure à 230 restent identiques , les autres sont noirs .

    Donc ça marche sauf que quand j'affiche les deux images il y a un décalage :



    Mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     CvScalar pix,pix2,pix3;
     
          for(i=0;i<img2->width;i++)
                {
                for(j=0; j<img2->height ; j++)
                         {
                         pix=cvGet2D(img2,i,j);
                         cvSet2D(img3,i,j,pix2);
     
                         if(pix.val[0] < 230)
                           {
                               pix2.val[0] = 0 ;
                           }
                           else
                           {
                               pix2.val[0] = pix.val[0];
                           } 
     
                         printf("intensite pixel n%d : %lf  %lf\n",10 * i + j+1,pix.val[0],pix2.val[0]);
                         }
                }
     
     
        cvShowImage("f1", img2);
        cvShowImage("f3",img3);
    Si on en croit le printf, le changement de valeur a bien lieu mais c'est pendant l'affichage que ça merde ... si qqun a une idée !

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 11
    Par défaut
    en fait il y a un décalage (non-résolu pour l'instant) : le cvSet2D intervient un pixel après le cvGet2D !

    en placant mon printf avant le if , la premiere valeur pour pix2.val[0] est -1.#QNAN0 ..

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 11
    Par défaut
    bon j'ai résolu mon problème

    je suis passé par un tableau , j'ai décalé les valeurs et je les ai remis dans mes intensités après !


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

Discussions similaires

  1. Décalage avec les variables de session.
    Par gscorpio dans le forum Langage
    Réponses: 4
    Dernier message: 12/10/2006, 16h16
  2. Réponses: 2
    Dernier message: 08/09/2006, 11h04
  3. Décalage avec Tableau
    Par ArHacKnIdE dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 25/06/2006, 17h08
  4. [CSS] décalage avec Firefox avec display:inline / none
    Par rebolon dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 27/03/2006, 09h17
  5. Update, décalage avec suppression
    Par moulette85 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/05/2005, 13h39

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