banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Mon 23 April 2007 11:46

student1979
Participant occasionnel
Date d'inscription: 21 Mar 2007
Messages: 30

Différences entre images

J'essaie de faire une différence en deux images de la même région prise à des moment différents. J'ai essayé d'utiliser les outils "Band math" et "Spectral math" dans ENVI. Alors que je m'attendais à avoir une image très sombre puisque les deux images input sont très similaires, la fonction me reproduit une image très similaire aux deux input. J'ai bien lu le turoriel de ENVI et je ne pense pas me tromper. Voici comment je procède en utilisant Band math par exemple:
1) Je définit la fonction mathématique à appliquer: B4-B1

2) J'associe B4 avec la première bande spectrale de ma 2ieme image et B1 avec le première bande spectrale de mon image 1

3) J'applique l'opération de différence et ENVI me produit une image à une seule bande spectrale.

4) je réitère l'oppération pour les bandes 2 et 3 de mes images.

5) j'affiche une image en utilisant les trois différences oppérées, et le résultat est une imlage assez clair qui n'a pas l'air d'être la différence entre mes images de départ.

Je ne sais pas ou est le bug??? Si quelqu'un peut me dire comment faire ou bien me suggérer une autre méthode ou un autre logiciel, je suit tout ouie.

D'avance merci.

Hors ligne

 

#2 Mon 23 April 2007 14:19

student1979
Participant occasionnel
Date d'inscription: 21 Mar 2007
Messages: 30

Re: Différences entre images

Voici meme un print screen de mon resultat de différence d'image. Ca me parait fort coloré pour une différence de 2 image +/- les meme,....
Je m'attendrais à quelque chose de plus sombre non??


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#3 Thu 26 April 2007 11:38

Emilie_ENVI
Participant actif
Date d'inscription: 6 Jun 2006
Messages: 83

Re: Différences entre images

Bonjour,

La premiere chose a faire, avant de lancer des outils de detection de changements, est de verifier si tes deux images sont parfaitement bien callees l'une sur l'autre. Est-ce bien le cas ?

Ensuite pour lancer une simple difference entre deux bandes, c'est bien l'outil "Band Math" qu'il faut utiliser. L'outil "Spectal Math" permet de faire des operations sur les signatures/bibliothques spectrales. Dans ton cas, il faut donc utiliser Band Math. La definition de ta fonction est correcte :
b4-b1  (b1 et b4 etant deux images panchromatiques prises a deux dates differentes).

Cette fonction est tres simple, je serai tres etonnee qu'il y ai un bug mais c'est tres facile a verifier. Si tu regardes le pixel (1,1) de ton image b4, puis la valeur de ton pixel (1,1) sur l'image b1 et que tu fais la difference, trouves-tu la meme valeur que celle du pixel (1,1) de ton image resultante ? Fais le test avec d'autres pixel. Je suis persuadee que le resultat est coherent.

Tu dis que tes deux images imput sont similaires... qu'entends-tu par la ? Est-ce que tu fais cette remarque juste visuellement ? As-tu regarde les valeurs des pixels (par exemple a travers l'histogramme) ? La dynamique de tes donnees est peut-etre differente ? En d'autres mots, si tu te places sur une region ou il n'y a pas eu de changements, est-ce que la valeur radiometrique de la zone est la meme ?
Si ce n'est pas le cas, il faut dans un premier temps modifier les valeurs de ta premiere image afin qu'elles correspondent a celles de la seconde image (ou inversement). Tu peux par exemple pour cela utiliser une regression lineaire : Basic Tools -> Preprocessing -> Calibration Utilities -> Empirical Line -> Compute Factor and Calibrate. Apres avoir selectionne des paires de ROI sur les deux images (une dans les zones sombres et une paire de ROIs dans les zones claires), la fonction va reprojeter les donnees d'une image pour qu'elles se callent sur les valeurs de la seconde image. Tu pourras ensuite lancer BandMath (si pas de changement alors le resultat sera proche de zero).

Pour la detection de changements entre deux images panchromatiques, je te conseille egalement de regarder la fonction sous Basic Tools -> Change Detection -> Compute Difference Map. Cette fonction devrait egalement t'interesser. Mais idem, pour que cette fonction te donne des resultats exploitable, il fait que tes donnees soient comparable radiometriquement.

J'espere que ces quelques idees pourront t'aider !

Emilie

Hors ligne

 

#4 Sat 28 April 2007 17:59

student1979
Participant occasionnel
Date d'inscription: 21 Mar 2007
Messages: 30

Re: Différences entre images

Un grand merci pour ta reponse Emilie. J'ai bien compris les différentes étape de ta réponse. J'avais déjà vérifié les signature spectrales de pixelles sur mes image. Mathématiquement les différences correspondent bien couleur par couleur et bande par bande, mais ce que je trouve étrange, c'est le rendu de l'image par ENVI. Regarde le fichier photo que je mets en annexe et tu comprendras.
Les displays 1, 2 et 3 sont trois images de la meme région prises à des moment différents et les memes masques sont appliqués à chacune des trois images.
Le display 4 est la différence pour chaque canal entre mes images 2 - 1.
Le display 5 est la différence pour chaque canal entre mes images 3 - 2.

Si je prend un pixel dans le masque par exemple, sa signature est = à 0 pour mes 5 images (3 images de départ + les 2 différences) et pour tous les cannaux.
Dans le cas du display 4 le masque apparait en noir ce que je trouve tout a fait normal (R=0 G=0 B=0). Mais dans le cas de mon display 5 le meme masque apparait en blanc alors que les signatures spectrales de mes pixels valent R=0 G=0 B=0. Comment dois-je m'epliquer celà??

Pour répondre à tes questions, mes images sont correctement georéférencées. Pour la technique de détection de changement que je suis en train d'appliquer, il n'est pas nécessaire de faire des correction radiométrique entre les différentes images.

Encore merci pour ton aide.

Domitien.

Dernière modification par student1979 (Sat 28 April 2007 18:00)

Hors ligne

 

#5 Sat 28 April 2007 18:10

student1979
Participant occasionnel
Date d'inscription: 21 Mar 2007
Messages: 30

Re: Différences entre images

J'ai pas réussi à ajouter d'image au post, je c pas pourquoi mais j'ai mis l'image disponible à l'adresse suivante:

http://www.kotajeux.be/equi0506/printscreen.jpg

Dernière modification par student1979 (Sat 28 April 2007 18:18)

Hors ligne

 

#6 Sun 29 April 2007 00:36

pharos1
Participant actif
Date d'inscription: 28 Nov 2006
Messages: 81

Re: Différences entre images

Salut Student 1979
t'as pas inversé par hasard la valeur de ton masque aulieu de (zero) t'as mis 1, alors les zones masquées sortirons dans ce cas en blanc sur tes images  puisque leur valeurs initiales sont des 0 est la valeur du masque est 1 , tandis que les pixels pour lesquels tu veux calculer la difference sont mis en valeur masqué zero dans ce cas, et c'est pourquoi ils vont de donner des valeurs zero.
Essayes donc d'inverser la valeur de ton masque (0 vis 1) et je pense que tu resoudras ton problème

Dernière modification par pharos1 (Sun 29 April 2007 00:38)

Hors ligne

 

#7 Mon 30 April 2007 13:34

student1979
Participant occasionnel
Date d'inscription: 21 Mar 2007
Messages: 30

Re: Différences entre images

Ok merci, j'ai inverser toutes mes channels et ca à l'air de produire un résultat plus plausible. Ce que je ne m'explique pas c'est que la première différence a été produite de la même facon que la seconde, et que pour la seconde je doive inverser les couleurs.

En tous cas merci pour toutes ces précisions.

a+

Domitien.

Hors ligne

 

#8 Mon 30 April 2007 19:53

pharos1
Participant actif
Date d'inscription: 28 Nov 2006
Messages: 81

Re: Différences entre images

COOL 10/10
Ça doit être une faute qui a glissée sans attention.
ciao

Hors ligne

 

Pied de page des forums

Powered by FluxBB