📅  最后修改于: 2023-12-03 15:19:27.442000             🧑  作者: Mango
numpy.rot90
是 NumPy
库中的一个函数,用于将数组旋转90度。
函数定义如下:
numpy.rot90(m, k=1, axes=(0, 1))
参数:
m
:要旋转的数组。k
:指定旋转次数,数值可以为正、负整数。默认值为1,表示逆时针旋转90度。axes
:指定要旋转的维度,以tuple形式表示。默认值是 (0,1),表示旋转前两个维度。函数返回:旋转后的数组。
import numpy as np
m = np.array([[1, 2], [3, 4]])
print("原数组:\n", m)
m_rot = np.rot90(m)
print("旋转后的数组:\n", m_rot)
m_rot = np.rot90(m, k=2)
print("旋转2次后的数组:\n", m_rot)
m_rot = np.rot90(m, k=-1)
print("逆时针旋转90度后的数组:\n", m_rot)
n = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
print("原数组:\n", n)
n_rot = np.rot90(n, axes=(1,2))
print("在第二和第三维度上旋转后的数组:\n", n_rot)
输出:
原数组:
[[1 2]
[3 4]]
旋转后的数组:
[[2 4]
[1 3]]
旋转2次后的数组:
[[4 3]
[2 1]]
逆时针旋转90度后的数组:
[[2 1]
[4 3]]
原数组:
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
在第二和第三维度上旋转后的数组:
[[[2 4]
[1 3]]
[[6 8]
[5 7]]]
numpy.rot90
函数常用于对图像做旋转操作。我们可以通过这个函数将图片逆时针旋转90度、180度、270度等。下面是一个简单的示例,用于将一张图片逆时针旋转90度。
import numpy as np
from PIL import Image
img = Image.open('/path/to/image.jpg')
# 将图片转为 NumPy 数组
arr = np.array(img)
# 对数组旋转90度
arr_rot = np.rot90(arr, k=-1)
# 将数组转为图像并保存
img_rot = Image.fromarray(arr_rot)
img_rot.save('/path/to/rotated_image.jpg')