在Python中,可以使用Pillow库来随机缩小图片并保持其原比例。以下是一个示例代码,展示了如何随机缩小图片:
from PIL import Image
import random
def random_resize_image(input_image_path, output_image_path, max_size):
打开图片文件
original_image = Image.open(input_image_path)
获取原始图片的宽度和高度
width, height = original_image.size
随机生成一个宽度和高度,不超过max_size
target_width = random.randint(1, max_size)
target_height = random.randint(1, max_size)
保持图片原比例缩放
aspect_ratio = width / height
if width > height:
new_width = target_width
new_height = int(target_width / aspect_ratio)
else:
new_height = target_height
new_width = int(target_height * aspect_ratio)
使用resize函数来缩小图片
resized_image = original_image.resize((new_width, new_height), Image.ANTIALIAS)
保存缩小后的图片
resized_image.save(output_image_path)
使用示例
input_image_path = "path/to/your/image.jpg"
output_image_path = "path/to/resized/image.jpg"
max_size = 500 指定最大尺寸
random_resize_image(input_image_path, output_image_path, max_size)
这段代码首先打开一张图片,然后随机生成一个新的宽度和高度,这个尺寸不会超过指定的`max_size`。接着,它根据原图片的宽高比来计算新的尺寸,以保持图片的纵横比。最后,使用`resize`函数将图片缩小到新的尺寸,并保存到指定的输出路径。
请确保在运行代码之前已经安装了Pillow库,可以通过以下命令进行安装:
pip install Pillow
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/146164.html