Вы можете сделать это, извлекая альфа-канал и обрезая его. Итак, если это ваше входное изображение:
Here it is again, smaller and on a chessboard background so you can see its full extent:
The code looks like this:
#!/usr/bin/env python3
from PIL import Image
# Load image
im = Image.open('image.png')
# Extract alpha channel as new Image and get its bounding box
alpha = im.getchannel('A')
bbox = alpha.getbbox()
# Apply bounding box to original image
res = im.crop(bbox)
res.save('result.png')
Here is the result:
And again on a chessboard pattern so you can see its full extent:
введите описание изображения здесь
Ключевые слова : обработка изображений, Python, PIL / Pillow, обрезка до альфа, обрезка до альфа, обрезка до прозрачности, обрезка до прозрачности.