关于python:如何使用PIL裁剪图像?

How to crop an image using PIL?

我想通过从给定图像中删除前30行和最后30行来裁剪图像。 我搜索过但没有得到确切的解决方案。 有人有什么建议吗?


有一个crop()方法:

1
2
w, h = yourImage.size
yourImage.crop((0, 30, w, h-30)).save(...)


您需要为此导入PIL(枕头)。
假设您有1200,1600的图像。我们将裁剪400,400到800,800的图像

1
2
3
4
5
from PIL import Image
img = Image.open("ImageName.jpg")
area = (400, 400, 800, 800)
cropped_img = img.crop(area)
cropped_img.show()


更简单的方法是使用ImageOps中的裁剪。 您可以从每一侧输入要裁剪的像素数。

1
2
3
4
from PIL import ImageOps

border = (0, 30, 0, 30) # left, up, right, bottom
ImageOps.crop(img, border)