Spaces:
Build error
Build error
File size: 2,589 Bytes
d61b9c7 |
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
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
|