从0开始学GEE python——Landsat 8 C02 SR和TOA数据的缨帽变换(含数组的介绍)

Landsat 8 C02 SR和TOA数据的缨帽变换(含数组的介绍)

缨帽变换(Hat transformation)

缨帽变换(Hat transformation)是一种在3D计算机视觉中常用的操作,用于将一个三维向量转换为一个反对称矩阵。具体而言,给定一个三维向量v=[x, y, z]的缨帽变换结果H(v)是一个3x3的反对称矩阵,表示为:

H(v) = | 0 -z y |
| z 0 -x |
|-y x 0 |

其中,x、y、z分别是向量v在x、y、z轴上的分量。

缨帽变换通常用于计算3D计算机视觉任务中的旋转和平移的表示。在这种表示中,旋转可以通过缨帽变换表示为一个反对称的旋转矩阵,平移可以表示为一个线性部分为单位矩阵、平移向量为向量v的仿射矩阵。

缨帽变换还具有一些其他的性质,例如:对于任意的向量v和w,有H(v)w = v×w,其中×表示向量的叉乘运算。

总之,缨帽变换是将一个三维向量转换为一个反对称矩阵的操作,常用于表示3D计算机视觉中的旋转和平移。

数组

地球引擎使用 ee.Array 类型来表示一维向量、二维矩阵、三维立方体和高维超立方体。 数组是一种灵活的数据结构,但在地球引擎中,数组的扩展能力不如其他数据结构。 如果不使用数组也能解决问题,那么计算结果会更快、更高效。 但如果问题需要更高维的模型、灵活的线性代数或其他数组独有的功能,则可以使用数组类。

数组的维度指的是基础数据变化的轴的数量。例如,0-D 数组是标量数,1-D 数组是向量,2-D 数组是矩阵,3-D 数组是立方体,而 >3-D 数组是超立方体。对于 N 维数组,有 N 个轴,从 0 到 N-1。数组的形状由轴的长度决定。轴的长度是沿着它的位置数量。数组的大小或数组中元素的总数等于轴长度的乘积。每个轴上每个位置的每个值必须有一个有效的数字,因为当前不支持稀疏或不规则数组。数组的元素类型指示每个元素是什么类型的数字;数组的所有元素将具有相同的类型。

表格左侧的索引表示沿 0 轴的位置。 0 轴上每个列表中的 n 个元素位于 1 轴上的 n 个位置。 例如,数组坐标 [3,1] 上的条目为 0.0849。 假设 "绿度 "是我们感兴趣的 TC 分量。 您可以使用 slice() 获取绿度子矩阵:

缨帽变换系数转换SR

coefficients = ee.Array([
    [0.3029, 0.2786, 0.4733, 0.5599, 0.508, 0.1872],
    [-0.2941, -0.243, -0.5424, 0.7276, 0.0713, -0.1608],
    [0.1511, 0.1973, 0.3283, 0.3407, -0.7117, -0.4559],
    [-0.8239, 0.0849, 0.4396, -0.058, 0.2013, -0.2773],
    [-0.3294, 0.0557, 0.1056, 0.1855, -0.4349, 0.8085],
    [0.1079, -0.9023, 0.4119, 0.0575, -0.0259, 0.0252],
])

display(coefficients.length())  #    [6,6]
display(coefficients)
greenness0 = coefficients.slice(axis=0, start=1, end=2, step=1)
display(greenness0)

greenness1 = coefficients.slice(axis=1, start=1, end=2, step=

你可能感兴趣的:(从0学gee,python,python,开发语言,缨帽变换,数组,维度,gee,系数变换)