欢迎访问宙启技术站
智能推送

Python代码生成随机的形状图像

发布时间:2023-12-12 03:14:59

在Python中,可以使用PIL(Python Imaging Library)库来生成随机形状图像。PIL库提供了创建、编辑和保存图像的功能,以及生成随机图像的方法。

下面是一个使用PIL库生成随机形状图像的示例代码:

from PIL import Image, ImageDraw
import random

# 创建一个空白图像
width, height = 500, 500
image = Image.new("RGB", (width, height), "white")
draw = ImageDraw.Draw(image)

# 随机生成形状的数量和位置
num_shapes = random.randint(5, 10)
for _ in range(num_shapes):
    shape = random.choice(["rectangle", "circle", "triangle"])
    
    if shape == "rectangle":
        x1 = random.randint(0, width)
        y1 = random.randint(0, height)
        x2 = random.randint(x1, width)
        y2 = random.randint(y1, height)
        color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
        draw.rectangle([(x1, y1), (x2, y2)], fill=color)
    
    elif shape == "circle":
        x = random.randint(0, width)
        y = random.randint(0, height)
        radius = random.randint(50, 100)
        color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
        draw.ellipse([(x - radius, y - radius), (x + radius, y + radius)], fill=color)
    
    elif shape == "triangle":
        x1 = random.randint(0, width)
        y1 = random.randint(0, height)
        x2 = random.randint(0, width)
        y2 = random.randint(0, height)
        x3 = random.randint(0, width)
        y3 = random.randint(0, height)
        color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
        draw.polygon([(x1, y1), (x2, y2), (x3, y3)], fill=color)

# 保存图像
image.save("random_shape_image.png")

在上面的代码中,首先导入了必要的库。然后,创建了一个空白的图像,指定了图像的大小和背景颜色。接着,通过循环随机生成形状的数量和类型,并根据不同的形状生成不同的图形。最后,保存生成的图像。

你可以根据需要调整图像的大小,形状的数量和类型,以及颜色的范围,来生成不同风格的随机形状图像。

使用这个示例代码,你可以生成多个随机形状图像,并保存为图片文件供后续使用。你还可以将这些图像用于机器学习模型的训练数据,或者用于图像处理算法的测试和评估。

希望这个例子对你有帮助!