利用python,依据模板,随机生成175张照片
时间: 2023-10-24 10:08:52 浏览: 33
作为AI语言模型,我无法生成图像,但是我可以提供一些思路和代码,希望能够帮到您。
思路:
1. 从一些公开的图片库中下载一些人物头像,如Pexels、Unsplash等;
2. 利用Python中的Pillow库对图片进行处理,如旋转、裁剪、缩放等;
3. 利用Python中的随机函数生成一些随机数,如随机角度、随机位置等;
4. 将处理后的图片保存到本地。
代码:
```python
import os
import random
from PIL import Image
# 设置图片的大小和数量
img_width = 500
img_height = 500
img_num = 175
# 从图片库中随机选择图片
img_dir = 'image_dir' # 图片库路径
img_list = os.listdir(img_dir)
img_list = [os.path.join(img_dir, img) for img in img_list if img.endswith('.jpg') or img.endswith('.jpeg') or img.endswith('.png')]
random.shuffle(img_list)
# 生成图片
for i in range(img_num):
# 随机选择一张图片
img_path = img_list[i % len(img_list)]
# 打开图片
img = Image.open(img_path)
# 随机旋转图片
angle = random.randint(-30, 30)
img = img.rotate(angle)
# 随机裁剪图片
x1 = random.randint(0, img.width - img_width)
y1 = random.randint(0, img.height - img_height)
x2 = x1 + img_width
y2 = y1 + img_height
img = img.crop((x1, y1, x2, y2))
# 随机缩放图片
scale = random.uniform(0.5, 1.5)
new_width = int(img.width * scale)
new_height = int(img.height * scale)
img = img.resize((new_width, new_height))
# 随机位置
pos_x = random.randint(0, 1920 - img_width)
pos_y = random.randint(0, 1080 - img_height)
# 保存图片
save_path = f'output_dir/image_{i+1}.jpg'
img.save(save_path)
print(f'save {save_path} successfully!')
```
需要注意的是,本代码中使用的图片库是Pexels,需要在其官网上注册账号并获取API key,然后使用Pexels API来下载图片。如果使用其他图片库,可以自行修改代码。此外,生成的图片存储在`output_dir`目录下,需要先创建该目录。