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étection de changements entre images (skifstad 89])


Sujet :

OpenCV

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 47
    Par défaut Détection de changements entre images (skifstad 89])
    bonjour!j ai écri un petit program de detection de changement entre 2 images basé sur le calcule de la variance des rapports dans des régions [skifstad89]
    mon program:

    double var(IplImage*img,IplImage*def,int x,int y)
    { int i,j;
    int n=1;
    int nb=((2*n)+1)*((2*n)+1);
    CvScalar vimg,vdef;
    double moy=0,rapport;

    double variance=0;
    for(i=-n;i<=n;i++)
    {
    for(j=-n;j<=n;j++)
    {
    vimg=cvGet2D(img,y+i,x+j);
    vdef=cvGet2D(def,y+i,x+j);

    rapport=vimg.val[0]/vdef.val[0];

    moy=moy+rapport;
    }


    }

    moy=moy/nb;

    for(i=-n;i<=n;i++)
    {
    for(j=-n;j<=n;j++)
    {

    vimg=cvGet2D(img,y+i,x+j);
    vdef=cvGet2D(def,y+i,x+j);

    rapport=vimg.val[0]/vdef.val[0];

    rapport=rapport-moy;
    rapport=rapport*rapport;
    variance=variance+rapport;

    }
    }
    variance=variance/nb;
    return(variance);
    }


    void skifstad_detection(IplImage*img,IplImage*def,IplImage*obs)
    {
    int i ,j;
    CvScalar blanc,noir;
    blanc.val[0]=255;
    noir.val[0]=0;
    double seuille=0.05;

    for(i=0;i<obs->height;i++)

    {
    for(j=0;j<obs->width;j++)

    {
    cvSet2D(obs,i,j,blanc);

    }

    }

    for(i=4;i<obs->height-4;i++)

    {
    for(j=4;j<obs->width-4;j++)

    {

    if(var(img,def,j,i)>seuille )

    cvSet2D(obs,i,j,noir);

    }

    }

    cvNamedWindow( "obstacle", 1 );
    cvShowImage("obstacle", obs);
    cvWaitKey(0);
    }



    j ai testé mon program sur une paire(les images son en piece jointe) que j ai obtenu a partir d'un fichier pdf mais j ai pas obtenu le resultat attendu!!!quelqu ' un a une idée sur mon probleme ?

    l'image mon resultat.jpg représente le resultat de mon program appliqué sur la paire ( img1.jpg , img2.jpg)
    l'image bon resultat.jpg représente le résultat que je veux obtenir que j ai trouvé dans le meme fichier pdf .
    merci d avance pour votre aide.
    Images attachées Images attachées     

Discussions similaires

  1. image de fond / détection de changement
    Par Vestaproman dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 30/11/2010, 13h33
  2. detection de changement entre image
    Par whiteboy dans le forum Traitement d'images
    Réponses: 33
    Dernier message: 21/08/2008, 21h34
  3. Changement d'image si l'originale absente
    Par MitchDap dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 16/03/2005, 09h06
  4. changement d'image par radio boutton
    Par ph_anrys dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/03/2005, 16h27
  5. Réponses: 4
    Dernier message: 25/09/2004, 09h58

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