首页 > 解决方案 > 使用 scipy 从所需位置旋转数组

问题描述

我有一个布尔数组。我尝试使用 scipy.ndimage.rotate 旋转数组。问题是阵列从中心旋转,我想从所需的点旋转它。我在代码中称为掩码的给定数组是一个椭圆体,例如,我想从椭圆体的一端旋转它。使用 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 旋转蒙版,使其从特定位置旋转,而不仅仅是从中心旋转?

标签: pythonnumpyscipyscikit-image

解决方案


尝试用 shift 组合旋转:

  • 首先应用移位将旋转轴移动到中心点,
  • 然后使用您想要的参数应用旋转,
  • 最后应用与第一个班次相反的情况。

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


推荐阅读