我正在尝试学习使用Python GDAL绑定和numpy进行遥感图像处理的绳索。作为首次尝试,我正在读取Landsat8 geotiff文件,进行简单的操作并将结果写入新文件。下面的代码看起来工作正常,除了原始栅格转储在输出文件中,而不是转储在操纵的栅格中。
欢迎提出任何意见或建议,但要特别注意为何未在结果中显示操纵的栅格。
import os
import gdal
gdal.AllRegister()
file = "c:\~\LC81980242015071LGN00.tiff"
(fileRoot, fileExt) = os.path.splitext(file)
outFileName = fileRoot + "_mod" + fileExt
ds = gdal.Open(file)
band = ds.GetRasterBand(1)
arr = band.ReadAsArray()
[cols, rows] = arr.shape
arr_min = arr.Min()
arr_max = arr.Max()
arr_mean = int(arr.mean())
arr_out = numpy.where((arr < arr_mean), 10000, arr)
driver = gdal.GetDriverByName("GTiff")
outdata = driver.Create(outFileName, rows, cols, 1, gdal.GDT_UInt16)
outband = outdata.GetRasterBand(1)
outband.WriteArray(arr_out)
outdata = None
print arr_min
> 0
print arr_max
> 65535
print arr_mean
> 4856
我在Windows 7 32位计算机上使用Python 2.7.1。
嗨,谢谢您的关注!我知道我忽略了地理转换,后来想再考虑一下。我确实看到了整个输出图像(使用Irfanview),所以我认为不可能。今晚回到座位上时,我会生成您要求的信息。
—
汉斯·罗洛夫森
arr_min是什么?
—
Fluidmotion
arr_min =0。我更新了帖子以显示此内容。谢谢!
—
汉斯·罗洛夫森
gdainfo -stats original.tiff
,并gdal-config --version
也可能会有所帮助。