Python 有没有办法从gdal数组和绘图中获取RGB?

Python 有没有办法从gdal数组和绘图中获取RGB?,python,numpy,geospatial,raster,gdal,Python,Numpy,Geospatial,Raster,Gdal,问题: 我有一个包含多个波段(即MSI)的卫星图像。我正在处理图像以提取波段、运行聚类(KMeans)、合并索引(例如NDWI),但我无法获得简单的RGB输出 我所尝试的: data=gdal.Open(“myfile”,gdal.GA_只读) bands=[data.GetRasterBand(k+1).ReadAsArray()表示范围内的k(data.RasterCount)] im=np.堆栈(带,2) #尝试1 rgb=im[:,:,[4,2,1]]#请参见第一幅包含的图像以获取输出

问题: 我有一个包含多个波段(即MSI)的卫星图像。我正在处理图像以提取波段、运行聚类(KMeans)、合并索引(例如NDWI),但我无法获得简单的RGB输出

我所尝试的:

data=gdal.Open(“myfile”,gdal.GA_只读)
bands=[data.GetRasterBand(k+1).ReadAsArray()表示范围内的k(data.RasterCount)]
im=np.堆栈(带,2)
#尝试1
rgb=im[:,:,[4,2,1]]#请参见第一幅包含的图像以获取输出
plt.imshow(rgb)
plt.show()
#尝试2
红色=波段[4]
绿色=波段[2]
蓝色=条纹[1]
rgb=np.0((红色形状[0],红色形状[1],3))
rgb[:,:,0]=红色
rgb[:,:,1]=绿色
rgb[:,:,2]=蓝色#请参见第二张包含的图像以获取输出
plt.imshow((rgb*255).aType(np.uint8))
在这两种情况下,图像输出都是奇怪的绿色,我不确定为什么也不知道如何将其显示为RGB。有什么想法吗


我本以为第四波段是阿尔法通道。你确定这是红色通道吗?带[5]是红色的,但是-除非我错了,实际的索引不是[4]吗,因为当GDAL为红色时,它从0开始?[1] CB[2]B[3]G[4]Y[5]R