如何对任意维数的Numpy数组进行重采样?

2024-04-25 05:20:54 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个^{}用于重新采样3D数组的前两个维度。它还支持双线性插值。然而,似乎没有一个现有的函数来调整具有任意维数的数组的所有维度。如何使用多重线性插值对给定相同秩的新形状的任何数组进行重采样?在


Tags: 函数数组形状维数
1条回答
网友
1楼 · 发布于 2024-04-25 05:20:54

您需要^{},其用法如下:

>>> x = np.arange(8, dtype=np.float_).reshape(2, 2, 2)
>>> scipy.ndimage.zoom(x, 1.5, order=1)
array([[[ 0. ,  0.5,  1. ],
        [ 1. ,  1.5,  2. ],
        [ 2. ,  2.5,  3. ]],

       [[ 2. ,  2.5,  3. ],
        [ 3. ,  3.5,  4. ],
        [ 4. ,  4.5,  5. ]],

       [[ 4. ,  4.5,  5. ],
        [ 5. ,  5.5,  6. ],
        [ 6. ,  6.5,  7. ]]])

请注意,此函数始终保留图像的边界,本质上是在每个像素中心使用一个节点重新采样网格。如果您需要更多地控制重采样发生的确切位置,您可能需要查看scipy.ndimage中的其他函数

相关问题 更多 >