Show HN: Brawshot – Basic temporal denoise for videos in BRAW format

I wanted to record the aurora last weekend, but I only have a Blackmagic Design video camera which is clearly not made for this purpose. Recording a video of the night sky results in extreme noise to the point that you don't really see anything, so I wrote a tool to significantly reduce noise in such video recordings. Essentially it computes a moving average across video frames which significantly reduces the random sensor noise. This works because aurora changes very slowly, and it's roughly comparable to a long exposure time computed out of a video file where the individual frames have a very short exposure time. But unlike a photo camera with long exposure time, this produces a video at full frame rate again. The window size of the moving average has no influence on the computation time, so even large window sizes of e.g. 100 frames or more are no problem.

If you want to use this tool for artistic purposes, it will produce extreme motion blur depending on the window size you choose.

I am aware that tools like ffmpeg or the paid version of DaVinci Resolve have denoising features, but at least ffmpeg's denoising filters are extremely slow and memory intensive, and it's fun to implement this as fast GPU accelerated open source software for this non-standard use case anyway.

To use this tool, you'll need a Blackmagic Design camera which records in BRAW format (or you could hack the video decoder in the main.cpp file to decode some other source video file format).

If someone has a good idea how to remove the remaining noise pattern which seems to be inherent in the image sensor and very slowly changes over time, I'd be very interested!


Comments URL: https://news.ycombinator.com/item?id=40402719

Points: 18

# Comments: 1

https://github.com/hackyourlife/brawshot

Creado 22d | 19 may. 2024 17:20:16


Inicia sesión para agregar comentarios