Daniel Verdu
first commit2
0cb9530
raw
history blame
796 Bytes
import random
from fastai.vision.image import TfmPixel
# Contributed by Rani Horev. Thank you!
def _noisify(
x, pct_pixels_min: float = 0.001, pct_pixels_max: float = 0.4, noise_range: int = 30
):
if noise_range > 255 or noise_range < 0:
raise Exception("noise_range must be between 0 and 255, inclusively.")
h, w = x.shape[1:]
img_size = h * w
mult = 10000.0
pct_pixels = (
random.randrange(int(pct_pixels_min * mult), int(pct_pixels_max * mult)) / mult
)
noise_count = int(img_size * pct_pixels)
for ii in range(noise_count):
yy = random.randrange(h)
xx = random.randrange(w)
noise = random.randrange(-noise_range, noise_range) / 255.0
x[:, yy, xx].add_(noise)
return x
noisify = TfmPixel(_noisify)