Analog grain simulation on grayscale images, inspired by http://www.ipol.im/pub/art/2017/192/
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:
We add white circles to fixed-size black patches (5x5), preserving the mean of the original pixel:
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.