在Python中读取并显示遥感影像,可以使用rasterio库读取影像数据,并结合matplotlib进行可视化。以下是一个完整的示例代码:
import rasterio
import matplotlib.pyplot as plt
import numpy as np# 打开遥感影像文件
with rasterio.open('path/to/your/image.tif') as src:# 读取所有波段数据data = src.read()  # 返回形状为 (bands, height, width) 的numpy数组# 获取影像的基本信息width = src.widthheight = src.heightbands = src.countcrs = src.crstransform = src.transformprint(f"影像尺寸: {width}x{height}, 波段数: {bands}")print(f"坐标系: {crs}")# 显示影像(假设前三个波段是RGB)plt.figure(figsize=(10, 10))plt.imshow(np.moveaxis(data, 0, -1))  # 调整维度顺序以便正确显示plt.title('遥感影像显示')plt.axis('off')  # 关闭坐标轴plt.show()
 
代码说明:
-  
读取影像:使用
rasterio.open打开影像文件,src.read()读取所有波段数据,返回一个形状为(bands, height, width)的NumPy数组。 -  
显示影像:
- 使用
matplotlib.pyplot.imshow显示影像。 np.moveaxis(data, 0, -1)将波段维度从第一维移动到最后一维,以便imshow正确解析RGB通道。plt.axis('off')关闭坐标轴,使显示更干净。
 - 使用
 -  
注意事项:
- 确保文件路径正确,且文件格式被
rasterio支持(如GeoTIFF)。 - 如果影像的波段顺序不是RGB(如某些卫星影像可能使用其他波段组合),需要调整波段顺序。
 - 对于大型影像,直接显示可能会导致内存不足,可以先裁剪或降采样。
 
 - 确保文件路径正确,且文件格式被
 
安装依赖:
pip install rasterio matplotlib
 
扩展功能:
- 波段选择:如果影像包含多个波段,可以手动选择特定波段组合进行显示。
 - 直方图拉伸:对影像进行直方图拉伸以增强对比度。
 - 地理坐标显示:结合
cartopy库添加地理坐标网格。 
如果需要更复杂的处理或可视化,可以进一步探索rasterio和matplotlib的高级功能。