I want to add noise to an image in a way similar to this :
import numpy as np
import matplotlib.pyplot as plt
myImage = plt.imread('Pikachu.png')
noise = np.random.normal(0, 0.1, (myImage.shape[0], myImage.shape[1]))
noisyImage = myImage + noise
However, I would need the noise to be more intense in the center of the image, and less intense as we get farther from the center.
Ideally, I could regulate the spatial distribution parameter of the noise so that my noise variable contains :
- Initialization : Intense and uniform noise on all the image
- Early stages : Intense noise in the center, less noise on the borders
- Mid-stages : Noise in the center, no more noise on the border
- Late stages : No more noise on all the image (all zeros)
Does anyone know a way to do it? Any help is really appreciated!




