Je voudrais apprendre à faire une classification non supervisée d'une scène Landsat en utilisant i.cluster
> i.maxlik
dans GRASS en utilisant des images d'une résolution de 15 m (une image à netteté panoramique (l'exemple donné dans son Wiki utilise les résolutions ordinaires de 30 m).
J'ai d'abord essayé i.pansharpen
de créer des images à netteté panoramique, mais je i.pansharpen
ne peux produire que 3 canaux pouvant être combinés à l'aide de d.rgb
ou r.composite
. Pour autant que je sache, le processus de classification des images nécessite des bandes multispectrales complètes de 1 à 7. Comment puis-je produire des bandes distinctes (bande 1 à bande 7), affinées à l'aide de son image de bande 8 à 15 m de résolution, avant de les saisir dans le processus de classification des images?
J'ai trouvé un document qui montre comment ils ont fait cela; Fondamentalement, ils ont utilisé une sorte d'analyse en composantes principales pour fusionner en quelque sorte les bandes multispectrales de 30 m avec la bande panchromatique de 15 m. La citation exacte serait:
"La méthode rééchantillonne d'abord l'image multispectrale de 30 mètres à 15 mètres. Elle calcule ensuite les six principales composantes de l'image multispectrale (Nous avons supprimé la bande thermique en raison de sa résolution plus élevée). Puis l'histogramme de la bande panchromatique (15 mètres est mise à l'échelle pour correspondre à l'histogramme de la première composante principale de l'image de 30 mètres et la première composante est remplacée par la bande panchromatique redimensionnée. Ceci est justifié parce que la première composante principale représente la luminosité globale d'une manière similaire à la large bande spectrale de l'image panchromatique. Après remplacement, les six composantes sont ensuite retransformées dans l'espace de données d'origine, ce qui améliore la résolution spatiale. "
Tout d'abord, le document n'a montré aucun algorithme / formule que ce soit. Je ne sais pas comment transformer la citation ci-dessus en une formule mathématique correspondante. J'ai réalisé que je peux utiliser i.pansharpen
l'algorithme PCA au lieu du Brovey ou de l'IHS habituel - mais quand même - la sortie ne sera que 3 canaux de rouge, bleu et vert - que je n'ai malheureusement aucune idée de comment les utiliser pour la classification des images ..
Donc, avant même d'essayer de me casser la tête en essayant d'écrire un nouvel algorithme PCA manuellement, quelqu'un peut-il m'aider à indiquer une manière plus simple et meilleure d'effectuer une classification d'images sur des images Landsat à netteté panoramique? Je veux dire - il devrait y avoir un moyen plus facile, non? J'ai l'impression de manquer quelque chose de simple.
Si la seule voie qui reste est d'écrire mon propre script, pouvez-vous s'il vous plaît me montrer quelque chose qui ressemble à un exemple de ce que j'essaie de faire?
Toute aide est fortement appréciée!
la source
Réponses:
i.cluster a besoin d'au moins deux rasters. Ainsi, trois sorties de i.pansharpen seront suffisantes.
la source
i.pansharpen
dansi.group
? Hmm, je n'ai jamais pensé à ça (je pensais qu'il fallaiti.group
des rasters dans des bandes distinctes) .. La qualité de la classification utilisant seulement 3 rasters devrait être différente de l'utilisation de toute la gamme, non? Tant pis, je vais l'essayer d'abord. Merci @Vladimir Naumov!