Loï*_*cin 1 python numpy scipy
我想旋转数组但不喜欢基本的矩阵旋转.如果我有一个3x3阵列,我希望每个单元转向中央单元.
这是一个3x3阵列:
import numpy as np
tab = np.array([[1,2,3],[4,5,6],[7,8,9]])
[[1 2 3]
[4 5 6]
[7 8 9]]
Run Code Online (Sandbox Code Playgroud)
我希望例如将它旋转45度:
[[2 3 6]
[1 5 9]
[4 7 8]]
Run Code Online (Sandbox Code Playgroud)
我无法使用,scipy.ndimage.interpolation.rotate(tab,45)因为它应用了基本的矩阵旋转,这不是我想要的.
import numpy as np
from scipy import ndimage
tab = np.array([[1,2,3],[4,5,6],[7,8,9]])
ndimage.interpolation.rotate(tab,45)
[[0 0 0 0]
[0 2 6 0]
[0 4 8 0]
[0 0 0 0]]
Run Code Online (Sandbox Code Playgroud)
有谁知道如何实现这一目标?
你几乎只使用它:
ndimage.interpolation.rotate(tab,45,reshape=False,mode='nearest')
Run Code Online (Sandbox Code Playgroud)
问题是你需要强制方法不重塑你的矩阵,并使用最接近的数字填充空白而不是零.
用零的问题是,一些数字(那些在角落),成为了界限的,当你旋转矩阵,所以你需要"预测"那些失踪的角落通过最近像一种高精度这里
输出:
[[2 3 6]
[1 5 9]
[4 7 8]]
Run Code Online (Sandbox Code Playgroud)
再次旋转它给出:
[[3 6 9]
[2 5 8]
[1 4 7]]
Run Code Online (Sandbox Code Playgroud)
等等..
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |