forked from SenpaiSuchil/arte-generativo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
randomizer.py
executable file
·52 lines (45 loc) · 1.41 KB
/
randomizer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import PIL.Image
from glitch_this import ImageGlitcher
import random
def apply_glitch(path):
try:
# Abrimos la imagen utilizando la biblioteca PIL
image = PIL.Image.open(path)
except:
print("Ruta no válida")
return img
# Aplicamos el filtro de ruido a la imagen
img = noise(image)
# Aplicamos el efecto de glitch a la imagen
img = glitch(image)
return img
def noise(img):
# Generamos píxeles de ruido en la imagen
for i in range(round(img.size[0] * img.size[1] / random.randint(1, 10))):
img.putpixel(
(
random.randint(0, img.size[0] - 1),
random.randint(0, img.size[1] - 1),
),
(
random.randint(0, 255),
random.randint(0, 255),
random.randint(0, 255),
),
)
return img
def glitch(img):
booleanRand = random.randint(0, 1)
colorOffsetVal = True
if booleanRand == 0:
colorOffsetVal = False
# Inicializamos el objeto ImageGlitcher
glitcher = ImageGlitcher()
# Aplicamos el efecto de glitch a la imagen con parámetros aleatorios
glitchImage = glitcher.glitch_image(
img, random.uniform(0.1, 10.0), color_offset=colorOffsetVal
)
return glitchImage
def generate_filename():
# Generamos un nombre único para la imagen
return f"glitch_{random.randint(1000, 9999)}.jpg"