📅  最后修改于: 2023-12-03 15:06:48.883000             🧑  作者: Mango
在图像处理中,经常会需要对图像进行旋转操作。Scipy 库提供了一个方便的工具函数 ndimage.rotate()
来实现图像的旋转操作,并且旋转过程中可以保持图像的尺寸不变。本文将介绍如何使用 ndimage.rotate()
来旋转图像。
首先,我们需要安装 Scipy 库。可以使用 pip 命令来安装:
pip install scipy
安装完成后,我们就可以开始使用 ndimage.rotate()
函数了。
下面是使用 ndimage.rotate()
函数实现图像旋转的示例代码:
import numpy as np
import scipy.ndimage as ndimage
import matplotlib.pyplot as plt
# 读取图像
img = plt.imread('lena.png')
# 旋转 45 度
rot_img = ndimage.rotate(img, 45, reshape=False)
# 显示原图和旋转后的图像
plt.subplot(121)
plt.imshow(img)
plt.title('Original Image')
plt.axis('off')
plt.subplot(122)
plt.imshow(rot_img)
plt.title('Rotated Image')
plt.axis('off')
plt.show()
输出结果如下所示:
在上面的示例中,首先使用 plt.imread()
函数读取图像。然后使用 ndimage.rotate()
函数将原图像旋转 45 度,生成旋转后的图像。最后使用 matplotlib.pyplot
库的 imshow()
函数来显示原图和旋转后的图像。
ndimage.rotate()
函数接受以下参数:
input
:要旋转的图像数组。angle
:旋转角度,以度为单位。axes
:ndarray
格式的元组,指定哪些轴来旋转。例如,对一个 3D 数组,可以使用 (1, 2)
来在垂直和水平轴上旋转图像。reshape
:是否调整图像尺寸以适应旋转后的图像。默认为 True
,即会调整图像大小。output
:输出图像数组。如果指定,则输出结果将写入该数组。本文介绍了如何使用 Scipy 库的 ndimage.rotate()
函数来旋转图像,并给出了示例代码。使用 ndimage.rotate()
函数可以方便地实现图像旋转操作,而且旋转过程中可以保持图像的尺寸不变。