python旋转框图片裁剪
时间: 2023-07-04 22:27:22 浏览: 80
您可以使用Pillow库来旋转和裁剪图片。以下是一个示例代码,可以将图片旋转45度并进行裁剪:
```python
from PIL import Image
# 打开图片
img = Image.open('image.jpg')
# 旋转图片
img = img.rotate(45)
# 裁剪图片
width, height = img.size
left = (width - 200) / 2
top = (height - 200) / 2
right = (width + 200) / 2
bottom = (height + 200) / 2
img = img.crop((left, top, right, bottom))
# 保存图片
img.save('output.jpg')
```
在上面的代码中,我们首先打开了一张名为'image.jpg'的图片。然后,我们对图片进行了旋转,旋转角度为45度。最后,我们对图片进行了裁剪,将图片的宽和高都裁剪为200像素。最后,我们将处理后的图片保存为'output.jpg'文件。
相关问题
python实现裁剪旋转框
可以使用OpenCV库来实现旋转和裁剪带有框的图片。以下是一个示例代码,可以将带有框的图片旋转45度并进行裁剪:
```python
import cv2
# 读取图片
img = cv2.imread('image.jpg')
# 读取框的坐标
x, y, w, h = 100, 100, 200, 200
# 旋转图片
(h, w) = img.shape[:2]
center = (w // 2, h // 2)
M = cv2.getRotationMatrix2D(center, 45, 1.0)
img = cv2.warpAffine(img, M, (w, h))
# 裁剪图片
x, y = int(x), int(y)
w, h = int(w), int(h)
img = img[y:y+h, x:x+w]
# 保存图片
cv2.imwrite('output.jpg', img)
```
在上面的代码中,我们首先读取了一张名为'image.jpg'的图片,并读取了框的坐标。然后,我们对图片进行了旋转,旋转角度为45度,并使用cv2.warpAffine函数进行旋转。最后,我们对图片进行了裁剪,将图片的宽和高都裁剪为框的大小。最后,我们将处理后的图片保存为'output.jpg'文件。
python批量旋转图片
可以使用Python的PIL库来批量旋转图片。以下是一个简单的示例代码:
```python
from PIL import Image
import os
# 设置旋转角度
angle = 90
# 遍历指定文件夹中所有图片文件
for filename in os.listdir('/path/to/folder'):
if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'):
# 打开图片
image = Image.open(os.path.join('/path/to/folder', filename))
# 旋转图片
rotated_image = image.rotate(angle, expand=True)
# 保存旋转后的图片
rotated_image.save(os.path.join('/path/to/folder', filename))
```
在上述代码中,我们首先导入了PIL库并设置了旋转角度。然后,我们使用os模块遍历指定文件夹中的所有图片文件,并打开每个文件。接着,我们使用rotate()函数来旋转图片,然后使用save()函数保存旋转后的图片。需要注意的是,expand=True参数可以确保旋转后的图片不会被裁剪。
你可以根据需要修改代码来适应你的具体情况,例如设置不同的旋转角度或修改文件夹路径。
阅读全文