PNG使用image.getbbox()赢得了autocrop

时间:2015-04-08 08:29:46

标签: python image crop bounding-box pillow

我一直试图让这个image I want to crop图像自动裁剪到可能的最小尺寸,去掉它周围的透明位。我不能手动裁剪此图片,因为会在图片上添加更多内容,例如image I want to crop as well

我一直在使用此代码:

from PIL import Image, ImageChops

image=Image.open('headbase1.png')
image.load()

imageSize = image.size
imageBox = image.getbbox()
print(image.getbbox())
cropped=image.crop(imageBox)
cropped.save('headbase_end.png')

它没有裁剪出它周围的透明度,边界框是这个(0,0,45,45),我认为不对。

谢谢,VOT。

编辑,这确实有效:Automatically cropping an image with python/PIL使用该图片,但它拒绝为我的图片工作。

1 个答案:

答案 0 :(得分:4)

fout = open()不适用于具有Alpha频道的PNG:getbbox

首先删除Alpha通道,然后获取边界框。 image.mode == 'RGBA'