1

3D配列の最初の2次元をリサンプリングするためのscipy.misc.imresizeがあります。双線形補間もサポートしています。しかし、任意の次元数の配列のすべての次元のサイズを変更するための既存の関数は存在しないようです。マルチリニア補間を使用して、同じランクの新しい形状を与えられた配列をどのように再サンプリングできますか?任意の次元のナンシーアレイを再サンプリングする方法は?

答えて

2

あなたは次のように使用することができscipy.ndimage.zoom、欲しい:

>>> 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の他の関数を参照することをお勧めします。

関連する問題