19 lines
732 B
Python
19 lines
732 B
Python
from PIL import Image, ImageEnhance
|
|
from ..utils import random, get_colour_lut, apply_pixel_shader
|
|
from ..operations import add_noise, add_random_colour_spill
|
|
import numpy as np
|
|
|
|
|
|
def random_edit(img: Image, seed: int = 42) -> Image:
|
|
np.random.seed(seed)
|
|
img = add_noise(img, random(0, 0.2))
|
|
img = ImageEnhance.Contrast(img).enhance(random(0.5, 2))
|
|
img = add_random_colour_spill(img, 1.3)
|
|
img = img.convert("HSV")
|
|
saturation_lut = get_colour_lut(variance=0.3, count=5, type="linear")
|
|
brightness_lut = get_colour_lut(variance=0.3, count=5, type="cubic")
|
|
img = apply_pixel_shader(
|
|
img, lambda h, s, v: (h, saturation_lut[s], brightness_lut[v])
|
|
)
|
|
img = img.convert("RGB")
|
|
return img
|