您可以将重采样方法设置为最近的邻居,当然这仍然是一种插值方式,但我认为结果正是您所追求的。如果你使用gdalwarp,你可以输出到一个VRT,然后你可以用Python打开。
或者,您也可以直接在Python中放大数组,但只有在所有空间属性都相同的情况下才有效。
它可与NumPy的完成,如:
image2_250m = np.kron(image2_500m, np.ones((2,2)))
可以扩展它的2倍在这两个方面。如果你还有第三维含有你想要使用的波段np.ones((1,2,2))
,那么可以用1来缩放波段/光谱维度(例如,什么都不做)。它仍然近邻插值
例如形式:
In [1]: import numpy as np
In [2]: a = np.random.randint(0,100, (2,2))
In [3]: a
Out[3]:
array([[38, 85],
[99, 19]])
In [4]: a_hires = np.kron(a, np.ones((2,2)))
In [5]: a_hires
Out[5]:
array([[ 38., 38., 85., 85.],
[ 38., 38., 85., 85.],
[ 99., 99., 19., 19.],
[ 99., 99., 19., 19.]])
我真的不明白想要做的完全一样。如果你只是想让image_2中的其他像素出现,那么image_2 [:: 2,:: 2]会为你做。 (每个维度都可以用(start:stop:skip)给出一个片段,所以如果你做了“:: 2”,这意味着没有特殊的值用于Start Start for Stop,但跳过2 - >跳过其他所有像素)I有一种感觉,但这不是你要求的,对吧? – Magellan88