25 lines
859 B
Python
25 lines
859 B
Python
from fastai.basics import *
|
|
from PIL import Image, ImageDraw, ImageFont
|
|
|
|
def resize_to(img, targ_sz, use_min=False):
|
|
w,h = img.size
|
|
min_sz = (min if use_min else max)(w,h)
|
|
ratio = targ_sz/min_sz
|
|
return int(w*ratio),int(h*ratio)
|
|
|
|
class crappifier():
|
|
def __init__(self, path_lr, path_hr):
|
|
self.path_lr = path_lr
|
|
self.path_hr = path_hr
|
|
|
|
def __call__(self, fn):
|
|
dest = self.path_lr/fn.relative_to(self.path_hr)
|
|
dest.parent.mkdir(parents=True, exist_ok=True)
|
|
img = Image.open(fn)
|
|
targ_sz = resize_to(img, 96, use_min=True)
|
|
img = img.resize(targ_sz, resample=BILINEAR).convert('RGB')
|
|
w,h = img.size
|
|
q = random.randint(10,70)
|
|
ImageDraw.Draw(img).text((random.randint(0,w//2),random.randint(0,h//2)), str(q), fill=(255,255,255))
|
|
img.save(dest, quality=q)
|