The skeleton of loading an array bitmaps, and performing fast pixel operations are ready.
I’m about to write a multi-frame denoiser, and although I’ve been thinking a lot of neural denoisers
(as in my work, I use my own neural networks as well), the first denoiser will be using a FAX denoise algorithm.
Back in the old days, there was an ingenious elegant simple denoise algorithm for FAX-es, it worked on gray images.
But there is no real reason why the same methods wouldn’t apply to color images.
It would require a bit more statistics that’s all. (but not as much math statistics as a neural net).
The thing i like about that algorithm was its simplicity and great results.
Essentially take the average of surrounding pixels remove MIN and MAX values.
If a pixel is itself is a MIN or MAX pixel ignore it. (keeps sharp edges).
If not MIN/MAX pixel would be blended by the average of neighbors. (but can blend towards an edge)
That kept contrast clarity and worked great for faxes.
The code will be in C# but the final math would be usable in C++ as well.
When the skeleton is mostly (accessing multi frames etc) and ready
For now, code requires still a bit some polishing and at least one multi-frame denoiser.
After that might place it in a few weeks on a public Github.
If you know how to code in C# it would be fairly easy to write different fast filters width it over multiple frames.
Once the example (FAX denoiser alike) is ready. This will work fast since the images will only be loaded once, width direct pixel access (which are quite easy to parallelize to make it even faster…but that’s scheduled later).
*PS since i lost my previous neural network code (broken laptop) this part had to be rewritten, well now it got multi-frame options that neural network never had never access too.