-
Creating an C++ App for Scratch and dust removal. Feature requests are welcomed
Good Afternoon Community,
I am new to the board, but a retired software engineer (C/C++). I’m 60 now.
In my first post I asked about the best practice to remove dust and scratches. I received a post with a lot of pointers. And are they expensive. The ones that aren’t are marginally functional.
So…I am going to write one of my own. While in development, it will be released under the GPL. Undecided how to relase when it’s done.
I’ve already got in place the abstraction layer so that I don’t have to deal with file format issues, compression, Big-Endian/Little-Endian, etc. Now it’s algorithm time. Because my background is in engineering, I’m approaching this more like an engineer than an artist (forgive please).
Based upon my own personal needs, I have a base algorithm. This algo comes from looking at the raw video data in hex. And I was able to come up the algo below based upon what I was seeing in the abstracted raw video data itself.
The program will (for now) be a stand-alone app that works on exported image sequences that are numbered. Once it is polished and working, then I’ll read the API’s for the major Editors and create a plugin.
Right now I have three parts to my algo. I welcome input and feature requests from others.
a) User will be able to define difference range for light spots (scratches)
b) User will be able to define difference range for looking for dark spots (dust)
c) User will be able to define span of frames (default == 3), range 3 to 10. This should differentiate intended film features from the anomalies in old film.
d) User will be able to tell the software to parse vertically or horizontally.I am targeting this program to be specific to repair dust specs, scratches, and dead camera pixels. This is NOT going to be a de-noiser.
The software will use the user’s input above to define spots and scratches, then the spot/scratch will be filled in with the color surrounding the spot/scratch.
I’m approaching this more like an engineer than an artist (forgive please). I am going to parse the raw video data one scan line at a time (horizontal or vertically, users choice)
Additional input from those more experienced than I in editing are solicited, and welcomed..
Sincerely and respectfully,
Dave