要使用PIL(Python Imaging Library,即Pillow库)的getbbox()
方法将图像大小调整到最大,您需要先找到图像中的非空白区域,然后根据这个区域调整图像大小
首先,确保您已经安装了Pillow库。如果没有安装,可以通过以下命令安装:
pip install pillow
然后,您可以使用以下代码来调整图像大小:
from PIL import Image, ImageOps
def trim_and_resize(image_path, output_path, bg_color=(255, 255, 255)):
# 打开图像
image = Image.open(image_path)
# 如果图像有透明度通道,将其转换为RGB
if image.mode == 'RGBA':
image = image.convert('RGB')
# 创建一个与图像大小相同的背景图像
background = Image.new(image.mode, image.size, bg_color)
# 计算图像的边界框
bbox = image.getbbox()
if bbox:
# 如果找到了非空白区域,裁剪图像
image = image.crop(bbox)
# 调整图像大小
target_size = (image.width, image.height) # 您可以根据需要设置目标大小
resized_image = image.resize(target_size, Image.ANTIALIAS)
# 将调整后的图像粘贴到背景图像上
background.paste(resized_image, (0, 0), resized_image)
# 保存结果
background.save(output_path)
# 使用示例
trim_and_resize("input.jpg", "output.jpg")
在这个示例中,trim_and_resize
函数接受输入图像路径、输出图像路径和背景颜色(默认为白色)。函数首先打开图像,然后创建一个与图像大小相同的背景图像。接下来,它计算图像的边界框,如果找到了非空白区域,就裁剪图像。最后,它调整图像大小并将调整后的图像粘贴到背景图像上,然后保存结果。
没有搜到相关的文章