Rasterio.merge 删除图像

问题描述

我正在尝试合并 landsat 8 波段。我的数据集有几个 B3 波段靠在一起

import Rasterio 
from Rasterio.plot import show
from Rasterio.merge import merge
from Rasterio.warp import reproject

import os 
from matplotlib import pyplot


files_to_merge = []
for file in os.listdir():
    if file.endswith(".TIF") and ("GM" not in file):
        files_to_merge.append(Rasterio.open(file))

test,out_trans = merge(files_to_merge)
show(test)

当我上面的代码我得到:

merged image

要合并的文件列表有以下对象:


 <open DatasetReader name='LE07_L1TP_017015_20210503_20210529_02_T1_B3.TIF' mode='r'>,<open DatasetReader name='LC08_L1TP_016015_20210504_20210517_02_T1_B3.TIF' mode='r'>,<open DatasetReader name='LE07_L1TP_017016_20210503_20210529_02_T1_B3.TIF' mode='r'>,<open DatasetReader name='LC08_L1TP_016014_20210504_20210517_02_T1_B3.TIF' mode='r'>,<open DatasetReader name='LE07_L1TP_017014_20210503_20210529_02_T1_B3.TIF' mode='r'>,

我有点困惑为什么其他光栅图像没有出现在合并图像中。当我删除一个乐队时,我可以重新运行合并命令:

test,out_trans = merge([files_to_merge[1],files_to_merge[2],files_to_merge[3],files_to_merge[4]])
show(test,cmap='terrain')

merged image 2

这看起来更好,但也不正确。我有点困惑发生了什么 - 如何正确合并所有图像?任何帮助都得到了帮助,我是光栅的新手。

解决方法

万一有人遇到过这个问题,这里有很多问题

基本上 Landsat 7 B1 与 Landsat 8 B1 不同,您想将 Landsat 7 B1 与 Landsat 8 B2 合并。

  • Landsat 8 传感器与 Landsat 7 的比例不同。重新调整 Landsat 8 的比例以在 0 到 255 之间移动

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...