Spaces:
Running
on
Zero
Running
on
Zero
import numpy as np | |
from PIL import Image | |
def pixelate(img, severity=1): | |
""" | |
Pixelate. | |
severity=[1, 2, 3, 4, 5] corresponding to sigma=[0.5, 0.4, 0.3, 0.25, 0.2]. | |
severity mainly refer to Imagecorruptions. | |
@param img: Input image, H x W x 3, value range [0, 255] | |
@param severity: Severity of distortion, [1, 5] | |
@return: Degraded image, H x W x 3, value range [0, 255] | |
""" | |
c = [0.5, 0.4, 0.3, 0.25, 0.2][severity - 1] | |
h, w = np.array(img).shape[:2] | |
img = Image.fromarray(img) | |
img = img.resize((int(w * c), int(h * c)), Image.BOX) | |
img = img.resize((w, h), Image.NEAREST) | |
return np.array(img).astype(np.uint8) | |