我正在 python 中使用一些 Sentinel-2 卫星图像。现在我使用较新的(2016 年之前的)没有任何问题。但我需要使用 2016 年的一些。欧洲航天局没有以同样的方式对这些进行预处理!
通常,当您下载图块时,您通常会获得每个卫星频段的 .jp2 文件。但在新版本中,他们会为您预处理 RGB 版本以及普通波段。这个版本在 python 中对我来说非常棒。
但是,为了创建旧图像的 RGB 版本,我需要将三个波段(4,3,2 - R,G,B)合并到 1 个文件中。 Gdal_merge 一开始就很好地处理了这个问题。当我打开图片时,它看起来很棒!
但是当我将其读入 python 时,我立即发现有些不对劲。该图像显示为纯白色图片,上面有一些蓝色条纹。
现在我去了 gdalinfo,将较新的工作示例和我自己缝合在一起的旧版本结合在一起,这就是输出。
您可能会注意到,尺寸一开始看起来不错。但这些带子的类型和颜色都不正确。所以当我合并文件时我显然做错了什么。
这是我用来将 3 个频段合并到 1 个 .jp2 文件中的命令。
gdal_merge.py -o outfile.jp2 -separate B04.jp2 BO3.jp2 BO2.jp2
现在如前所述。这会创建一个文件,当我在 QGIS 中打开它时,该文件看起来很漂亮。但它对我来说在Python中毫无用处。
这是 python 导入的屏幕转储。
img 是 ESA 预处理图像。
img1 is my bastardized gdal_merge import.
And here is a image of the failure :p
现在在我看来,我对这种图像处理缺乏一些基本的理解。因此,借助 Stackoverflow 的综合智慧 - 我该如何正确地将我的条带拼接成性感的 RGB,以便 rasterio 模块可以正确读取。
提前致谢 :)