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

【Python中读取并显示遥感影像】

在Python中读取并显示遥感影像,可以使用rasterio库读取影像数据,并结合matplotlib库进行可视化。以下是一个完整的示例代码:

import rasterio
import matplotlib.pyplot as plt

# 打开遥感影像文件
with rasterio.open('path/to/your/image.tif') as src:
    # 获取影像的基本信息
    width = src.width
    height = src.height
    bands = src.count
    crs = src.crs
    transform = src.transform

    print(f"Width: {width}, Height: {height}, Bands: {bands}")
    print(f"CRS: {crs}")
    print(f"Transform: {transform}")

    # 读取所有波段
    data = src.read()  # 返回形状为 (bands, height, width) 的 numpy 数组

    # 选择 RGB 波段进行显示(假设波段顺序为 R, G, B)
    # 注意:实际波段顺序可能因影像而异,需要根据具体情况调整
    rgb = data[[2, 1, 0], :, :]  # 例如,对于 Landsat 8,通常使用波段 4, 3, 2 作为 RGB

    # 归一化数据以便更好地可视化(假设数据范围为 0-10000)
    rgb_normalized = rgb.astype('float32') / 10000.0

    # 使用 matplotlib 显示影像
    plt.figure(figsize=(10, 10))
    plt.imshow(rgb_normalized)
    plt.title('Remote Sensing Image')
    plt.axis('off')  # 关闭坐标轴
    plt.show()

代码说明:

  1. 读取影像

    • 使用rasterio.open打开遥感影像文件。
    • src.read()读取所有波段的数据,返回一个形状为(bands, height, width)的 numpy 数组。
  2. 选择波段

    • 遥感影像通常包含多个波段,如红、绿、蓝等。
    • rgb = data[[2, 1, 0], :, :]假设波段顺序为 R, G, B,并根据需要进行调整。
  3. 数据归一化

    • 遥感影像的像素值范围可能较大,归一化到 0-1 之间可以更好地可视化。
    • rgb_normalized = rgb.astype('float32') / 10000.0假设数据范围为 0-10000,根据实际情况调整分母。
  4. 显示影像

    • 使用matplotlib.pyplot.imshow显示归一化后的影像。
    • plt.axis('off')关闭坐标轴,使影像显示更干净。

注意事项:

  • 文件路径:确保将'path/to/your/image.tif'替换为实际的影像文件路径。
  • 波段顺序:不同的遥感影像可能使用不同的波段顺序,需要根据具体情况调整rgb的选择。
  • 数据范围:归一化时使用的分母应根据影像的实际数据范围进行调整。
  • 大影像处理:对于非常大的遥感影像,直接读取和显示可能会导致内存不足,可以考虑分块读取或降采样。

运行此代码后,你将能够看到读取的遥感影像的彩色可视化结果。

相关文章:

  • 数据库基线检查-MongoBD/Kingbaser人大金仓/Oracel/PostgreSQL/Mysql安全加固
  • 【C++】Stack Queue 仿函数
  • linux下MMC_TEST的使用
  • skynet.rawcall使用详解及应用场景
  • jspm会计凭证自动录入预处理系统(源码+lw+部署文档+讲解),源码可白嫖!
  • mindie1.0新特性及调试问题总结
  • 鸿蒙app开发中Emitter 订阅器
  • Reactive编程框架与工具
  • Java 集合介绍
  • Linux--文件系统
  • 第四章 结构化程序设计
  • 【数据挖掘】岭回归(Ridge Regression)和线性回归(Linear Regression)对比实验
  • TBE(TVM的扩展)
  • 滑动窗口滤波
  • OpenIPC开源FPV之Adaptive-Link日志分析
  • 【Linux操作系统】:信号
  • 【Java设计模式】第10章 外观模式讲解
  • C++进阶笔记第一篇:程序的内存模型
  • 简单回溯(组合力扣77)
  • OpenCV 图形API(22)矩阵操作
  • 广西钦州:坚决拥护自治区党委对钟恒钦进行审查调查的决定
  • AI药企英矽智能第三次递表港交所:去年亏损超1700万美元,收入多数来自对外授权
  • 马上评|比余华与史铁生的友情更动人的是什么
  • 巴基斯坦军方:印度袭击已致巴方31人死亡
  • 第四轮伊美核问题谈判预计5月11日举行
  • 中演协:五一假期全国营业性演出票房收入同比增长3.6%