ENVI必须会教程—Landsat卫星的加载与波段读取

实验4:读取Landsat影像

目的:了解Landsat影像读取方法,熟悉各波段及组合

过程:

Landsat7影像:

①单波段影像加载:打开ENVI软件,点击文件,从文件打开准备好的L7数据,发现为SR数据,分别选择SR_B1到SR_R7的波段文件,依次打开,即可完成L7的单波段影像的加载。

图1

②组合影像加载:查阅L7的各波段特征,打开数据管理器,依次选择SR_B3(

### 如何使用ENVI软件打开Landsat 7卫星影像处理Landsat 7数据时,通常会遇到类似于Landsat 8 C2 L2数据的兼容性问题。然而,由于Landsat 7的数据结构相对简单,大多数情况下可以通过调整头文件或手动加载来解决问题。 #### 调整头文件的方式 对于Landsat 7数据,如果发现其MTL.txt或其他头文件无法被ENVI识别,则可以尝试修改头文件的内容。具体操作如下: - **更改元数据组名**:将头文件中的`GROUP = LANDSAT_METADATA_FILE`更改为`GROUP = L1_METADATA_FILE`[^2]。这一改动可以帮助某些版本的ENVI更好地解析Landsat系列数据。 #### 手动加载波段图像并创建层堆栈 当自动读取失败时,可以选择手动加载波段文件,并通过ENVI的功能将其组合成一个多波段图像。 1. 使用ENVI菜单栏中的 `File -> Open Image File...` 功能逐一导入各个`.TIF`格式的波段文件。 2. 接下来利用工具条上的 `Layer Stacking` 或者命令路径 `Basic Tools -> Layer Stack` 创建一个新的多光谱图像文件。在此过程中需指定输入哪些波段以及它们对应的顺序。 3. 完成层堆叠之后保存结果到本地磁盘作为新的ENVI标准格式(.dat/.hdr),这样就可以正常浏览和分析整个场景了。 ```python import os from spectral import * # 假设已知所有波段路径存放在列表bands_paths中 def stack_bands(band_paths, output_path): img_list = [] for path in band_paths: img = open_image(path).read_band(0) img_list.append(img) stacked_img = np.dstack(tuple(img_list)) save_rgb(output_path+'.png', stacked_img[:, :, :3], colors='rgb') # 示例调用函数 current_dir = '/path/to/your/data' all_tifs = [os.path.join(current_dir,f) for f in os.listdir(current_dir) if '.tif' in f.lower()] stack_bands(all_tifs[:7],'output_stacked') # 取前七个波段进行叠加 ``` 以上脚本展示了如何借助Python库`spectral`实现自动化批量处理多个GeoTIFF文件并将它们合成为一个RGB彩色图片预览图。 #### 特殊情况下的注意事项 尽管上述方法适用于大部分情形,但在特定条件下仍可能面临挑战。例如不同级别的校正(如Level-1 vs Level-2)、不同的投影参数或者特殊的压缩算法等都会影响最终能否顺利载入环境变量定义好的ENVI平台里运行进一步的空间统计运算等工作流程环节。 因此建议始终关注官方文档和技术论坛获取最新解决方案和支持信息。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧桐GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值