随机涂鸦 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)