在Python中,可以使用Pillow库来随机缩小图片并保持其原比例。以下是一个示例代码,展示了如何随机缩小图片:
from PIL import Imageimport randomdef random_resize_image(input_image_path, output_image_path, max_size):打开图片文件original_image = Image.open(input_image_path)获取原始图片的宽度和高度width, height = original_image.size随机生成一个宽度和高度,不超过max_sizetarget_width = random.randint(1, max_size)target_height = random.randint(1, max_size)保持图片原比例缩放aspect_ratio = width / heightif width > height:new_width = target_widthnew_height = int(target_width / aspect_ratio)else:new_height = target_heightnew_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

