我有一些具有3个波段的Geotiff图像。
其中,波段1和2是实际图像值,而波段3是实例角度值。
波段1和2是float32数据类型。
以下是我之前尝试过的代码。但它没有起作用。
我认为波段数据的范围太大了,所以它不起作用。
我该如何解决这个问题?
其中,波段1和2是实际图像值,而波段3是实例角度值。
波段1和2是float32数据类型。
以下是我之前尝试过的代码。但它没有起作用。
我认为波段数据的范围太大了,所以它不起作用。
from osgeo import gdal, osr, ogr
from PIL import Image
import numpy as np
ds = gdal.Open('image path', gdal.GA_ReadOnly)
rb = ds.GetRasterBand(1)
test = rb.ReadAsArray()
rb2 = ds.GetRasterBand(2)
test2 = rb2.ReadAsArray()
rb3 = ds.GetRasterBand(3)
test3 = rb3.ReadAsArray()
slice56 = test2
formatted = (slice56 * 255 / np.max(slice56)).astype('uint8')
img = Image.fromarray(formatted)
img.save('save image path')
我该如何解决这个问题?