J'ai essayé de vérifier mes filtres sur le raster DEM pour la reconnaissance des formes et il en résulte toujours des dernières lignes et colonnes manquantes (comme..20) . J'ai essayé avec la bibliothèque PIL, la charge d'image. Puis avec numpy. La sortie est la même.
Je pensais que quelque chose ne va pas avec mes boucles, lors de la vérification des valeurs dans le tableau (juste en sélectionnant les pixels avec Identification dans ArcCatalog), j'ai réalisé que les valeurs des pixels n'étaient pas chargées dans un tableau.
Donc, il suffit d'ouvrir, de mettre en tableau et d'enregistrer l'image à partir du tableau:
a=numpy.array(Image.open(inraster)) #raster is .tif Float32, size 561x253
newIm=Image.new(Im.mode, Im.size)
Image.fromarray(a).save(outraster)
Résultats en supprimant les dernières lignes et colonnes. Désolé, je ne peux pas poster l'image
N'importe qui pourrait aider à comprendre pourquoi? Et conseiller une solution?
MODIFIER:
J'ai donc réussi à charger de petits rasters dans un tableau numpy avec l'aide de gars, mais lorsque j'ai une image plus grande, je commence à avoir des erreurs. Je suppose que cela concerne les limites du tableau numpy, et donc le tableau est automatiquement remodelé ou smth comme ça ... Donc ex:
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
ima=numpy.array(inDs.GetRasterBand(1).ReadAsArray())
File "C:\Python25\lib\site-packages\osgeo\gdal.py", line 835, in ReadAsArray
buf_xsize, buf_ysize, buf_obj )
File "C:\Python25\lib\site-packages\osgeo\gdal_array.py", line 140, in BandReadAsArray
ar = numpy.reshape(ar, [buf_ysize,buf_xsize])
File "C:\Python25\lib\site-packages\numpy\core\fromnumeric.py", line 108, in reshape
return reshape(newshape, order=order)
ValueError: total size of new array must be unchanged
Le fait est que je ne veux pas lire bloc par bloc car j'ai besoin de filtrage, plusieurs fois avec des filtres différents, des tailles différentes.