Courte:
je veux changer la résolution d'un raster et lisser la rampe grise comme indiqué dans les images ci-dessous. La préférence est d'utiliser GDAL, PIL ou Numpy.
Description:
Je krige des points dans des rasters avec une résolution de sortie de 20 mètres avec la bibliothèque géostatistique haute performance . Je ne veux pas changer la résolution de sortie car le temps d'interpolation augmente de façon exponentielle.
Avec cette résolution, l'image de sortie est moche (pixelisée et aliasée). Je ne sais pas si elle est conceptuellement correcte mais je veux que l'image soit plus lisse comme dans l'exemple ci-dessous. C'est quelque chose comme «réinterpoler» l'image en une meilleure résolution. J'utilise python donc mes préférences sont GDAL, Python Imaging Library ou Numpy. La réponse pourrait être théorique, comme indiquer le nom de l'algorithme ou le concept de ce type d'opération.
La source:
Destination:
MODIFIER les résultats avec la spline cubique gdalwarp:
Réponses:
1) À la dure: avec un peu de codage, il est (relativement) facile d'implémenter une interpolation bilinéaire pour réaliser un rééchantillonnage décent.
2) La manière la plus simple: utilisez GDAL comme expliqué dans ce précédent article GISSE , mais en sens inverse (en diminuant la taille des pixels).
la source
Utilisez GDALReprojectImage , qui est exposé en Python:
Pour l'interpolation lisse, utilisez des méthodes bilinéaires ou cubiques. Cette fonction est maladroite, car elle ne prend pas d'arguments de mots clés, vous devez donc trouver la position:
La partie la plus délicate est probablement la mise en place
dst_ds
, qui doit avoir une géotransformation similaire àsrc_ds
, mais avec des tailles de cellule modifiées.la source
GRA_CubicSpline
(essayez d'abord) vsGRA_Cubic
(convolution).Pour atténuer les variations, vous avez besoin d'un filtre passe-bas. Vous pouvez écrire le vôtre en utilisant GDAL, ou il y en a un avec GRASS. Je ne l'ai pas essayé, mais voici un guide http://wiki.awf.forst.uni-goettingen.de/wiki/index.php/Exercise_31
Vous voudrez peut-être suréchantillonner votre raster avant d'appliquer le filtre passe-bas pour obtenir une meilleure résolution de sortie.
la source
vous pouvez utiliser un filtre de rang / médiane avec radius = 5, c'est-à-dire la taille du noyau = 11, (pour chaque canal rgb).
la source