使用scipy从所需位置旋转阵列

时间:2019-03-19 11:51:29

标签: python numpy scipy scikit-image

我有一个布尔数组。我试图使用scipy.ndimage.rotate旋转数组。问题是数组从中心旋转,我想从所需点旋转它。给定的数组(在代码中称为mask)是一个椭球,例如,我想从椭球的一端旋转它。使用scipy.ndimage怎么可能?

import numpy as np
import scipy
from scipy import ndimage
import skimage
from skimage import draw

mask = skimage.draw.ellipsoid(10,12,16)

rotated_mask = scipy.ndimage.rotate(mask, angle1 , axes =(0,2))

所以我的问题是如何使用scipy旋转蒙版,以便从特定位置旋转而不仅仅是从中心旋转?

1 个答案:

答案 0 :(得分:0)

尝试通过轮换构成旋转:

  • 首先应用移位以将旋转轴移动到中心点,
  • 然后使用所需的参数应用旋转,
  • 最后一次应用第一个班次的相反方向。

https://docs.scipy.org/doc/scipy-0.16.1/reference/generated/scipy.ndimage.interpolation.shift.html应该有所帮助。