python读取多通道tif文件并显示rgb图像

from osgeo import gdal
import numpy as np
import matplotlib.pyplot as plt

data = gdal.Open('zxf.tif')   # 读取tif文件
num_bands = data.RasterCount     # 获取波段数
print(num_bands)
tmp_img = data.ReadAsArray()      #将数据转为数组
img_rgb = tmp_img.transpose(1, 2, 0)     #由波段、行、列——>行、列、波段

img_rgb = np.array(img_rgb, dtype=np.uint8)   #设置数据类型,np.unit8可修改
r = img_rgb[:, :, 0]
g = img_rgb[:, :, 3]
b = img_rgb[:, :, 2]
img_rgb = np.dstack((r, g, b))    # 波段组合

# plt.imshow(img_rgb)
# plt.show()
# 通过调用plt.axis(“ off”),可以删除编号的轴
plt.axis("off")
plt.imshow(img_rgb)
plt.show()

你可能感兴趣的:(python,开发语言,后端)