| | import random |
| |
|
| | from fastai.vision.image import TfmPixel |
| |
|
| | |
| | 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) |
| |
|