我一直在尝试使用numpy数组编写tiff文件。该文件只有一个频段。但是,当我写文件时,它只打印0,前提是我检查了数组是否不包含零。如果打开输出的tiff文件并查看像素值,则所有值均为零。在下面的代码中,rgb是数组,raster是geotiff文件。
import numpy, sys
from osgeo import gdal
from osgeo.gdalconst import *
#format1='GTiff'
gdal.AllRegister()
driver = raster.GetDriver()
#driver = gdal.GetDriverByName(format1)
output = driver.Create("E:/workplace/final/results2/final_result_h.tif", cols, rows, 1, gdal.GDT_Int16)
if output is None:
print('Could not create final_result_h.tif')
sys.exit(1)
outBand = output.GetRasterBand(1)
outBand.WriteArray(rgb)
outBand.FlushCache()
outBand.SetNoDataValue(value)
output.SetGeoTransform(raster.GetGeoTransform())
output.SetProjection(raster.GetProjection())