随机涂鸦 pil

随机涂鸦 pil



import math
import time
import cv2

img1=cv2.imread("/home/lixiang/下载/mp4/111.jpg")


from PIL import Image, ImageDraw
import random


def tuya(img):
    draw = ImageDraw.Draw(img)

    # 涂鸦数量
    num_scribbles = 8  # 不规则形状数量

    # 随机不规则形状生成
    for _ in range(num_scribbles):
        # 随机生成不规则形状的中心点
        center_x = random.randint(0, img.width)
        center_y = random.randint(0, img.height)

        # 随机生成形状的顶点数量和半径
        # num_vertices = random.randint(20, 40)  # 顶点数量更多,变化更细腻
        num_vertices = random.randint(10, 40)  # 顶点数量更多,变化更细腻
        base_radius = random.randint(50, 300)  # 基础半径

        # 随机生成顶点,围绕中心点生成不规则形状
        vertices = []
        for i in range(num_vertices):
            # 随机扰动角度和半径
            angle = i * (2 * math.pi / num_vertices) + random.uniform(-0.3, 0.3)
            noise_factor = random.uniform(0.7, 1.3)  # 半径的随机扰动因子
            r = base_radius * noise_factor

            # 噪声加入到顶点位置的随机抖动
            noise_x = random.uniform(-10, 10)
            noise_y = random.uniform(-10, 10)

            # 计算顶点的实际坐标
            x = center_x + int(r * math.cos(angle)) + int(noise_x)
            y = center_y + int(r * math.sin(angle)) + int(noise_y)
            vertices.append((x, y))

        # 绘制不规则多边形
        draw.polygon(vertices, fill="black", outline="black")


for i in range(20):
    img = Image.open("/home/lixiang/下载/mp4/111.jpg")
    start=time.time()
    tuya(img)
    print('time',time.time()-start)
    # img.save("scribbled_image.jpg")
    img.show()

    # print(img1.shape)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值