2024-10-05 10:49:49 发布
网友
我有两张照片。图像1的分辨率为250米,图像2的分辨率为500米,这些图像具有完全相同的空间内容和投影。在
如何覆盖这两个图像,以便对于图像_1中的每个像素,我可以从图像2中提取像素值?我尝试了gdal重投影(reprojectimage2),但是它使用插值进行了重采样。这对我不起作用,因为重采样会改变图像2中的像素值。有什么有效的方法可以做到这一点吗?Scipy、numpy或任何类似的工具都会很棒。在
您可以将重采样方法设置为“最近邻”(nearest neighbor),这当然仍然是一种插值方法,但我认为结果正是您所追求的。如果使用gdalwalp,可以输出到VRT,然后用Python打开它。在
或者,您也可以在Python中直接放大数组,但只有在所有空间属性都相同的情况下,这才有效。在
它可以用Numpy完成,比如:
image2_250m = np.kron(image2_500m, np.ones((2,2)))
在两个维度上都放大了2倍。如果你也有一个包含波段的第三维度,你想使用np.ones((1,2,2)),它将把波段/光谱维度缩放为1(例如什么都不做)。它仍然是最近邻插值的一种形式
np.ones((1,2,2))
例如:
您可以将重采样方法设置为“最近邻”(nearest neighbor),这当然仍然是一种插值方法,但我认为结果正是您所追求的。如果使用gdalwalp,可以输出到VRT,然后用Python打开它。在
或者,您也可以在Python中直接放大数组,但只有在所有空间属性都相同的情况下,这才有效。在
它可以用Numpy完成,比如:
在两个维度上都放大了2倍。如果你也有一个包含波段的第三维度,你想使用
np.ones((1,2,2))
,它将把波段/光谱维度缩放为1(例如什么都不做)。它仍然是最近邻插值的一种形式例如:
^{pr2}$相关问题 更多 >
编程相关推荐