Python Pillow - ImageOps.scale() 函数



PIL.ImageOps.scale() 函数用于根据提供的参数(缩放因子)获取重新缩放的图像。缩放因子可以大于 1 以扩展图像,也可以介于 0 和 1 之间以收缩图像。

语法

以下是函数的语法:

PIL.ImageOps.scale(image, factor, resample=Resampling.BICUBIC)

参数

以下是此函数参数的详细信息:

  • image - 要重新缩放的图像。

  • factor - 扩展或收缩因子,指定为浮点数。

  • resample - 要使用的重采样方法,默认为 BICUBIC。

返回值

该函数返回一个 Image 对象,表示重新缩放的图像。

示例

示例 1

以下示例演示了如何使用 ImageOps.scale 函数。

from PIL import Image, ImageOps

# Open an image
original_image = Image.open("Images/butterfly1.jpg")

# Specify the rescaling factor 
rescale_factor = 1.1

# Apply the scale operation with BICUBIC resampling
rescaled_image = ImageOps.scale(original_image, rescale_factor)

# Save the original and rescaled images
original_image.save('Function Reference\ImageOps Module\Scale Function\Ex1_Input Image.png')
rescaled_image.save('Function Reference\ImageOps Module\Scale Function\Ex1_Output_Scale_FunC_result.png')

输出

如果您访问保存图像的文件夹,您可以观察到原始图像和重新缩放的图像,如下所示:

imageops_scale

示例 2

此示例演示了使用 ImageOps.scale() 函数收缩图像的过程。

from PIL import Image, ImageOps

# Open an image
original_image = Image.open("Images/car.jpg")

# Specify the rescaling factor 
# e.g., 0 for contraction, 1 for expansion
rescale_factor = 0.5

# Apply the scale operation with BICUBIC resampling
rescaled_image = ImageOps.scale(original_image, rescale_factor)

# Save the original and rescaled images
original_image.save('Function Reference\ImageOps Module\Scale Function\Ex2_Input Image.png')
rescaled_image.save('Function Reference\ImageOps Module\Scale Function\Ex2_Output_Scale_FunC_result.png')

输出

如果您访问保存图像的文件夹,您可以观察到原始图像和重新缩放的图像,如下所示:

output scale func result

示例 3

以下另一个示例演示了如何使用 PIL.ImageOps.scale 以不同的重采样方法重新缩放图像。

from PIL import Image, ImageOps, ImageFilter

# Open an image
original_image = Image.open("Images/butterfly.jpg")

# Specify the rescaling factor 
rescale_factor = 1.5

# Apply the scale operation with LANCZOS resampling
rescaled_image = ImageOps.scale(original_image, rescale_factor, resample=Image.Resampling.LANCZOS)

# Save the original and rescaled images
original_image.save('Function Reference\ImageOps Module\Scale Function\Ex3_Input Image.png')
rescaled_image.save('Function Reference\ImageOps Module\Scale Function\Ex3_Output_Scale_FunC_result.png')

输出

如果您访问保存图像的文件夹,您可以观察到原始图像和重新缩放的图像,如下所示:

scale func result
python_pillow_function_reference.htm
广告