Chaque fois que j'essaie de composites de quelques images Landsat pan affûter à l' aide GRASS i.pansharpen
, i.fusion.brovey
ou la méthode d' affûtage IHS, la sortie aura une partie ou toutes les caractéristiques suivantes:
- la couleur du composite est d'une teinte différente de celle du composite non affilé
- le niveau de luminosité est foiré
- l'ensemble du composite est devenu tout blanc / tout noir (lors de l'utilisation d'images prétraitées à des corrections de réflectance du haut de l'atmosphère ou de réflectance de surface dans
i.landsat.toar
)
J'ai également essayé toutes les solutions suivantes; mais les couleurs / luminosité sont restées les mêmes ou ont empiré:
- Appliqué
i.landsat.rgb
, avant et après le processus d'affûtage panoramique - Joué avec le drapeau
-f
ou-p
dansi.landsat.rgb
- J'ai essayé
r.colors
de modifier la table des couleurs en gris / gris255 / gris.eq - Essayé en
i.pansharpen
utilisant toutes les méthodes Brovey / IHS / PCA - Joué avec le
-l
drapeaui.pansharpen
pour rééquilibrer le canal bleu
Le manuel GRASS GIS a expliqué comment effectuer une netteté panoramique et un équilibrage des couleurs, mais je ne peux pas comprendre comment combiner les deux processus dans un flux de travail simultané. Je soupçonne que cela est dû à ma mauvaise compréhension des tables de couleurs, de l'histogramme des couleurs, etc. dans GRASS ..
Alors, quelqu'un peut-il m'expliquer - comment pouvez-vous résoudre les problèmes d'équilibrage des couleurs lorsque vous traitez des images Landsat après le traitement d'images dans GRASS? Pouvez-vous partager avec moi votre flux de travail / méthodes préférés?
Merci beaucoup pour tout commentaire!
i.pansharpen
gérer toutes sortes de formats. Veuillez consulter un "ticket" associé: Ticket # 2048: i.pansharpen limité à l'imagerie 8 bits . D'un autre côté, je pourrais tout simplement ne pas comprendre les choses et, par conséquent, ne pas pouvoir utiliser i.pansharpen correctement ...?J'ai cherché haut et bas et je pense avoir découvert la racine de mes problèmes. Je pense avoir trouvé la solution pour eux maintenant - mais c'est un peu compliqué. Je suis sûr qu'il existe de meilleures façons de les résoudre. Partagez si vous connaissez un moyen plus simple!
RACINES DE PROBLÈMES:
i.landsat.toar
est en virgule flottante . J'ai réalisé que lorsque j'utilise des rasters à virgule flottante dans n'importe quelle méthode de netteté panoramique, les couleurs se gâchent. Ces algorithmes préféraient en quelque sorte les rasters sous la forme entière d'origine.i.pansharpen
et lesi.fusion.brovey
modules gâcheront les couleurs . Je ne saisis pas très bien les algorithmes qu'ils ont utilisés dans ces modules - mais d'une manière ou d'une autre, les tables de couleurs seront affectées et ruineront les images pan-nettoyées résultantes.SOLUTION:
i.landsat.toar
float en int, en utilisantr.recode
.i.rgb.his
eti.his.rgb
). Je m'abstiens d'utiliseri.pansharpen
eti.fusion.brovey
.LE FLUX DE TRAVAIL:
À utiliser
r.info
avec l'-r
indicateur pour obtenir les valeurs DN min et max de chaque bande raster qui ont été traitées aveci.landsat.toar
. Par exemple:Comme nous pouvons le voir, les valeurs sont comprises entre 0-1, qui sont assez différentes de celles d'origine (qui sont comprises entre 0-255). Cela explique pourquoi la sortie de la netteté panoramique s'est avérée vierge, car la plage de valeurs utilisée est très faible (inférieure à 1).
Convertissez cette bande raster à l'aide de
r.recode
. Utilisez les valeurs min et max obtenues à l'étape 1 pour convertir en une nouvelle plage de 0 à 255. Un exemple d'extrait de code:Nous pouvons vérifier les nouvelles valeurs converties avec
r.info
:Les valeurs sont comprises entre 0 et 255: elles sont désormais utilisables pour le processus d'affûtage panoramique.
Appliquez une table de couleurs d'échelle de gris à la bande convertie avec
r.colors
.Jusqu'à présent, j'obtiens les meilleurs résultats en utilisant la table des couleurs grises - les composites à netteté panoramique correspondaient étroitement aux composites originaux. Les autres alternatives sont d'égaliser la table des couleurs grises avec
color=grey.eq
ou d'utiliser le-e
drapeau aveccolor=grey
. Ou nous pouvons utiliser lei.landsat.rgb
module au lieu der.colors
..Répétez les étapes 1 à 3 avec d'autres bandes raster que nous avons l'intention d'utiliser comme composites, y compris le raster panoramique (bande 8). L'utilisation de scripts serait très appréciée ici.
Utilisez ensuite les rasters traités comme entrées dans la méthode d'affinage panoramique IHS . Par exemple, lors de la réalisation du composite de la bande 7,4,2:
Cela produira 3 couches: une couche de teinte
HUE
, une couche d'intensitéINT
et également une couche de saturationSAT
. Nous remplacerons ensuite la couche d'intensitéINT
par la bande de raster panNEWBAND8
dansi.his.rgb
:Les canaux rouges résultants de COMP742_red , COMP742_green , COMP742_blue peuvent ensuite être combinés à l'aide de
d.rgb
our.composite
..ÉCHANTILLON AVANT ET APRÈS:
Avant affûtage panoramique:
Après affûtage:
Il est peut-être difficile de distinguer les différences de netteté lors de la visualisation à partir de si petites images. Mais ce qui est important, c'est que la couleur de l'image à netteté panoramique correspondait au composite de l'original. Mission accomplie!
AUTRES NOTES:
r.recode
les bandes thermiques (bande 6) .i.landsat.toar
produire ces bandes thermiques en valeurs de température Kelvin (rien à voir avec les valeurs DN). Gardez lar.recode
routine sur les bandes multispectrales et panoramiques normales (bandes 1-5,7,8).i.landsat.toar
, mais que les composites résultants semblent vraiment faux , c'est généralement à cause de l'inadéquation des tables de couleurs avant et après le processus d'affûtage panoramique. J'ai appliquér.colors RASTER color=grey
aux bandes de trame d'origine avant la netteté panoramique et aux canaux résultants après la netteté panoramique pour assurer une correspondance parfaite des couleurs.color=grey255
, la sortie dei.landsat.rgb
est incolor=grey.eq
. Pas étonnant qu'ils soient tous les deux différents!J'espère que cela profitera à quelqu'un: il m'a fallu des jours pour trouver ce qui ne va pas ..
la source
r.mapcalc
de saint()
fonction intégrée . Je pense quer.recode
n'est pas destiné à être utilisé dans le contexte de votre demande.i.pansharpen
est qu'il attend des cartes raster 8 bits en entrée, c'est-à-dire que les valeurs d'entrée doivent être comprises entre 0 et 255.i.pansharpen
c'est dans grass7_trunk uniquement. C'est la version de développement ... :-)