chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
|
||||
from PIL import Image
|
||||
import PIL.ImageOps, PIL.ImageEnhance
|
||||
import numpy as np
|
||||
|
||||
class Posterize:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def __call__(self, img, mag=-1, prob=1.):
|
||||
if np.random.uniform(0,1) > prob:
|
||||
return img
|
||||
|
||||
c = [1, 3, 6]
|
||||
if mag<0 or mag>=len(c):
|
||||
index = np.random.randint(0, len(c))
|
||||
else:
|
||||
index = mag
|
||||
c = c[index]
|
||||
bit = np.random.randint(c, c+2)
|
||||
img = PIL.ImageOps.posterize(img, bit)
|
||||
|
||||
return img
|
||||
|
||||
|
||||
class Solarize:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def __call__(self, img, mag=-1, prob=1.):
|
||||
if np.random.uniform(0,1) > prob:
|
||||
return img
|
||||
|
||||
c = [64, 128, 192]
|
||||
if mag<0 or mag>=len(c):
|
||||
index = np.random.randint(0, len(c))
|
||||
else:
|
||||
index = mag
|
||||
c = c[index]
|
||||
thresh = np.random.randint(c, c+64)
|
||||
img = PIL.ImageOps.solarize(img, thresh)
|
||||
|
||||
return img
|
||||
|
||||
class Invert:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def __call__(self, img, mag=-1, prob=1.):
|
||||
if np.random.uniform(0,1) > prob:
|
||||
return img
|
||||
|
||||
img = PIL.ImageOps.invert(img)
|
||||
|
||||
return img
|
||||
|
||||
|
||||
class Equalize:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def __call__(self, img, mag=-1, prob=1.):
|
||||
if np.random.uniform(0,1) > prob:
|
||||
return img
|
||||
|
||||
mg = PIL.ImageOps.equalize(img)
|
||||
|
||||
return img
|
||||
|
||||
|
||||
class AutoContrast:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def __call__(self, img, mag=-1, prob=1.):
|
||||
if np.random.uniform(0,1) > prob:
|
||||
return img
|
||||
|
||||
mg = PIL.ImageOps.autocontrast(img)
|
||||
|
||||
return img
|
||||
|
||||
|
||||
class Sharpness:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def __call__(self, img, mag=-1, prob=1.):
|
||||
if np.random.uniform(0,1) > prob:
|
||||
return img
|
||||
|
||||
c = [.1, .7, 1.3]
|
||||
if mag<0 or mag>=len(c):
|
||||
index = np.random.randint(0, len(c))
|
||||
else:
|
||||
index = mag
|
||||
c = c[index]
|
||||
magnitude = np.random.uniform(c, c+.6)
|
||||
img = PIL.ImageEnhance.Sharpness(img).enhance(magnitude)
|
||||
|
||||
return img
|
||||
|
||||
|
||||
class Color:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def __call__(self, img, mag=-1, prob=1.):
|
||||
if np.random.uniform(0,1) > prob:
|
||||
return img
|
||||
|
||||
c = [.1, .7, 1.3]
|
||||
if mag<0 or mag>=len(c):
|
||||
index = np.random.randint(0, len(c))
|
||||
else:
|
||||
index = mag
|
||||
c = c[index]
|
||||
magnitude = np.random.uniform(c, c+.6)
|
||||
img = PIL.ImageEnhance.Color(img).enhance(magnitude)
|
||||
|
||||
return img
|
||||
|
||||
|
||||
Reference in New Issue
Block a user