Search code examples
algorithmimage-processingvideo-processingnoise-generator

How to make a high ISO effect in a dark room?


When we use mobile or semiprofessional cameras in the room with bad light they increase ISO as a rule, the result is shown below:

Screenshot

This is a frame from video, as you can see there is a lot of noise. Maybe it's a little weird but I need to generate a similar noise on high quality video. However, a simple noise generator will produce a something like that:

Sample

Does anyone have some ideas how to get result like on the first frame? Or maybe there is a some existing noise generator/algorithm to make it? I will be grateful for any help.


Solution

  • You basically need to increase "grain" size, and maybe flat out your noise spots.

    It will be hard to obtain a natural-looking result, as those grain spots in a video are obtained from various types of interpolations over values obtained from the camera sensor (with specific noise that a sensor produces).
    Take for example "analog" film cameras (the pictures taken with the film have that grainy natural look from the effective grains sizes/shapes of minerals that are used in the film itself). If it were so easy to produce a natural-looking film alike filter over digital images the film industry would not see the comeback that happens now.

    With that said there are three things that come to my mind that could work:

    Median Blur over (image + some noise):
    https://docs.opencv.org/master/d4/d13/tutorial_py_filtering.html enter image description here

    An image that has is generated with Perlin noise, scaled accordingly to your specific frame size + added over colors of your image * some factor:
    https://github.com/ruslangrimov/perlin-noise-python-numpy
    enter image description here * factor + your image = result


    Film a really dark room with a camera set up to produce the same frame resolution and with high iso, add obtained video frames over your video (some image manipulation to be applied).
    Hope any of this helps and good luck with your project.