在python中可视化RGBN tiff卫星图像

时间:2018-11-05 15:31:06

标签: conv-neural-network tiff satellite-image

这是我的第一个问题,我会尽量保持清楚。

我有两个tiff文件,其中一个是4波段PlanetScope卫星图像,其面积为20 x 20 km,像素大小为2.93m。第二个tiff文件是一个单带Top10road图像,其中包含0到9像素的像素所属的道路类型的标签,其中0是非道路。

可以通过以下链接下载文件: https://www49.zippyshare.com/v/5pR3GPv3/file.html

RGBN图像似乎具有5个形状带(6496、6723)和uint16类型。第五个带只包含一个值,我不确定它需要什么。

我的目标是运行CNN和U-net,通过语义分割从卫星图像中提取道路并比较结果。 (这只是一个样本集,最终集合将是140 x 140 km,但是我正在这个较小的子集上进行测试)

我在查看RGBN图像时遇到问题。我尝试过使用tifffile,PIL,并最终将每个波段作为一个numpy数组导入,然后使用pyplot可视化它们。后者会为每个波段分别生成一个图像,但是我无法堆叠所有波段并查看RGBN图像。

以下代码是我尝试的简化版本:

from matplotlib import pyplot as plt
import numpy
import rasterio
with rasterio.open('ede_subset_293_20180502_planetscope.tif') as src:
    r, g, b, n, x = src.read()

#works
plt.imshow(r, interpolation='nearest')
plt.show()

#does not work :(
rgbn = np.dstack((r,g,b,n))
plt.imshow(rgbn, interpolation='nearest')

rgb = np.dstack((r,g,b,n))
plt.imshow(rgb, interpolation='nearest')

在此先感谢您的建议。

0 个答案:

没有答案