Analog grain simulation on grayscale images, inspired by http://www.ipol.im/pub/art/2017/192/
Why analog grain
Although the dynamic range of analog film cannot be matched, its texure can be mimicked in post-production. However the usual noise distributions don't render film noise (grain) convincingly:
Gaussian noise, std=30
Bernouilli (0 or 1)
The code can be run in
noise_image.py. The mix parameter allows the user to control the intensity of the grain, there is a live preview in the notebook. The whole process takes about 30s.