您可以將重採樣方法設置爲最近的鄰居,當然這仍然是一種插值方式,但我認爲結果正是您所追求的。如果你使用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