【发布时间】:2021-07-21 03:26:56
【问题描述】:
我有一个多波段栅格(84 个波段)。我正在使用 GDAL 读取光栅并将其转换为 numpy 数组。在 numpy 中,当我检查数组形状时,它显示为 84 = 波段、3 = 行和 5 = col。我想计算 1 到 84 中 n 的 band(0)/band(n+1) 之间的比率。因此,我可以获得 83 个数组,每个数组代表逐像素的比率。例如,我有:
Band 1
[[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15]]
Band 2
[[21, 22, 23, 24, 25],
[26, 27, 28, 29, 30],
[31, 32, 33, 34, 35]]
Band 3
[[31, 32, 33, 34, 35],
[36, 37, 38, 39, 40],
[41, 42, 43, 44, 45]]
...
...
Band84
我需要以这样的方式遍历所有频段,以便获得以下信息:Band2/Band1;波段3/波段1; ... ; Band84/Band1
Band2/Band1
[[1/21, 2/22, 3/23, 4/24, 5/25],
[6/26, 7/27, 8/28, 9/29, 10/30],
[11,31, 12/32, 13/33, 14/34, 15/35]]
等等……
有什么方法可以向量化这个计算?
非常感谢您的建议。
【问题讨论】:
-
不就是
X[0] / X[1:]吗?
标签: python