5

我不太明白axes以下旋转函数中的参数:

scipy.ndimage.interpolation.rotate(input, angle, axes=(1, 0), reshape=True, output=None, order=3, mode='constant', cval=0.0, prefilter=True)

文档中给出的解释如下:

轴:2个整数的元组,可选

定义旋转平面的两个轴。默认是前两个轴。

两个轴可以定义一个旋转平面吗?

4

2 回答 2

7

Ndimage 用于处理多维图像。一个 n 维图像将有 n 个轴。要进行旋转,您需要选择两个轴来定义要在其中进行旋转的平面。这是轴参数允许您指定的内容。

轴从 0 开始编号。它在文档中不是 100% 明确的,但我的解释是,这里的“轴”的含义与 Numpy 中的一般含义相同,即 n 维数据结构的维度,其中零是行,一是列,等等。所以 (1, 0) 表示“第一和零维”。

传递 (1, 1) 将毫无意义,因为它指定了相同的轴两次。传递 (0, 1) 与传递 (1, 0) 相同,但通过以相反的顺序传递轴,您将改变旋转方向。

于 2012-08-24T17:50:27.817 回答
3

经过几次测试:旋转轴可以解释如下:

如果我们使用给定轴的数字: 0 -- x 轴;1 -- y轴;2——z轴;

axes = (1,0) 和 (0,1) 是一样的,即 x 任意 y 轴。旋转平面为xy平面。

axes = (1,2) 和 (2,1) 是一样的,即 y 任意 z 轴。旋转平面为yz平面。

axes = (2,0) 和 (0,2) 是一样的,即 x 任意 z 轴。旋转平面为xz平面。

于 2017-09-13T14:39:20.530 回答