当前位置: 首页 > news >正文

【python读取并显示遥感影像】

在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.width
    height = src.height
    bands = src.count
    crs = src.crs
    transform = src.transform

    print(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()

代码说明:

  1. 读取影像:使用rasterio.open打开影像文件,src.read()读取所有波段数据,返回一个形状为(bands, height, width)的NumPy数组。

  2. 显示影像

    • 使用matplotlib.pyplot.imshow显示影像。
    • np.moveaxis(data, 0, -1)将波段维度从第一维移动到最后一维,以便imshow正确解析RGB通道。
    • plt.axis('off')关闭坐标轴,使显示更干净。
  3. 注意事项

    • 确保文件路径正确,且文件格式被rasterio支持(如GeoTIFF)。
    • 如果影像的波段顺序不是RGB(如某些卫星影像可能使用其他波段组合),需要调整波段顺序。
    • 对于大型影像,直接显示可能会导致内存不足,可以先裁剪或降采样。

安装依赖:

pip install rasterio matplotlib

扩展功能:

  • 波段选择:如果影像包含多个波段,可以手动选择特定波段组合进行显示。
  • 直方图拉伸:对影像进行直方图拉伸以增强对比度。
  • 地理坐标显示:结合cartopy库添加地理坐标网格。

如果需要更复杂的处理或可视化,可以进一步探索rasteriomatplotlib的高级功能。

相关文章:

  • win日志
  • 仿真每日一练 | ABAQUS子程序DLOAD
  • 复杂物快速定性定量:液相色谱质谱联用仪
  • 7.第二阶段x64游戏实战-string类
  • 【MySQL基础】左右连接实战:掌握数据关联的完整视图
  • LabVIEW 中 JSON 数据与簇的转换
  • Java实战报错 tcp
  • 深入理解深度学习模型的训练与评估模式:从基础组件到实战应用
  • 【WRF理论第十七期】单向/双向嵌套机制(含namelist.input详细介绍)
  • The 2024 CCPC National Invitational Contest (Changchun),第17届吉林省赛 C
  • STM32 HAL库之EXTI示例代码
  • 线程池(一):线程基础知识全面解析
  • 独立部署及使用Ceph RBD块存储
  • 学习OpenCV C++版
  • 卡尔曼滤波器的工作原理
  • 嵌入式系统中如何构建事件响应架构
  • Droris(强制)删除某一个分区数据
  • 优先级队列的应用
  • LeetCode 3375.使数组的值全部为 K 的最少操作次数:O(1)空间——排序+一次遍历
  • 递增子序列
  • 制作班徽的小程序/无锡网站制作优化
  • 织梦网站做seo优化/网站站点
  • 网站开发设计报告书怎么写/实体店铺引流推广方法
  • 烟台专业做网站公司哪家好/凡科网免费建站
  • 巴中做网站公司/想在百度上推广怎么做
  • 网站页面 原则/seo公司推广