python使图像旋转任意角度代码
时间: 2023-03-30 09:03:58 浏览: 152
以下是 Python 代码,可以将图像旋转任意角度:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 获取图像的高度和宽度
(h, w) = img.shape[:2]
# 设置旋转角度
angle = 45
# 计算旋转后的图像尺寸
new_w = int((w * np.abs(np.cos(np.radians(angle)))) + (h * np.abs(np.sin(np.radians(angle)))))
new_h = int((h * np.abs(np.cos(np.radians(angle)))) + (w * np.abs(np.sin(np.radians(angle)))))
# 构造旋转矩阵
M = cv2.getRotationMatrix2D((w / 2, h / 2), angle, 1.)
# 执行旋转操作
rotated = cv2.warpAffine(img, M, (new_w, new_h))
# 显示旋转后的图像
cv2.imshow("Rotated (Angle {})".format(angle), rotated)
cv2.waitKey()
```
希望对你有帮助!
相关问题
python使图像旋转任意角度
可以使用PIL库中的Image类的rotate()方法来实现图像旋转,其中参数为旋转的角度。具体实现可以参考以下代码:
```python
from PIL import Image
# 打开图像文件
img = Image.open('image.jpg')
# 旋转图像
rotated_img = img.rotate(45)
# 显示旋转后的图像
rotated_img.show()
```
以上代码将图像文件image.jpg旋转了45度,并显示旋转后的图像。
python控制 图片旋转任意角度
您可以使用Python的Pillow库来旋转图片。以下是一个示例代码,演示如何旋转图像任意角度:
```python
from PIL import Image
image_path = "path/to/image.jpg"
angle = 45 # 旋转角度,单位为度
# 打开图像文件并旋转角度
with Image.open(image_path) as img:
rotated_image = img.rotate(angle, expand=True)
# 显示旋转后的图像
rotated_image.show()
# 保存旋转后的图像
rotated_image.save("path/to/rotated_image.jpg")
```
在这个例子中,我们打开一个图像文件并指定要旋转的角度。我们使用 `rotate()` 方法旋转图像,该方法的第一个参数是要旋转的角度,第二个参数是一个布尔值,表示是否扩展图像以适应旋转后的图像。如果 `expand=True`,则旋转后的图像大小会变大以适应旋转的角度。最后,我们可以使用 `show()` 方法显示旋转后的图像,并使用 `save()` 方法将其保存到磁盘上。
阅读全文