TheProfileth
29th March 2012, 23:20
After seeing this http://registry.gimp.org/node/11742 and then realizing how vaguedenoiser worked I came up with an idea for a filter that would be very interesting if implemented.
The basic idea is that the image is decomposed into multiple layers based upon frequency.
The idea is that you use wavelets to decompose a frame into x amount of iterations each taking up a separate frame. You can then use/manipulate/filter any one or all of the decomposed frames and then recompose the image. Hopefully you should be able to decompose and recompile with little to no loss of detail, if you only apply the changes made within the decomposed frame to the sector that was decomposed in the first place then decomposition inaccuracy can be mitigated.
I want to be able to take a frame and essentially break it down into various wavelengths, separating the various wavelength decomposed images into different frames.
Here is an example atleast in theoretical terms
Note: just gonna say decompositions default at 1 being the original image
Number of wavelet decompositions 3
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Highest frequency segments
Number of wavelet decompositions 4
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Mid frequency segments
Frame 4: Highest frequency segments
Number of wavelet decompositions 6
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Low frequency segments
Frame 4: Mid frequency segments
Frame 5: High frequency segments
Frame 6: Highest frequency segments
Number of wavelet decompositions 8
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Low frequency segments
Frame 4: Lower Mid frequency segments
Frame 5: Mid frequency segments
Frame 6: Higher Mid frequency segments
Frame 7: High frequency segments
Frame 8: Highest frequency segments
Number of wavelet decompositions 10
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Lower frequency segments
Frame 4: Low frequency segments
Frame 5: Lower Mid frequency segments
Frame 6: Mid frequency segments
Frame 7: Higher Mid frequency segments
Frame 8: High frequency segments
Frame 9: Higher frequency segments
Frame 10: Highest frequency segments
You also could ask it to calculate a number of iterations but only output segments x,y and z because you know what you are looking for.
One possible usage would be wavelet decomposition to create high detail masks for denoising/sharpening. Hopefully this would give a lot more control than standard threshold based masking. Of course a threshold could be used in conjunction with the decomposed image allowing for specific targetting of regions.
Either way if possible higher bitdepths could be complementary to said system as they could increase the accuracy of the decomposition. A really competent debander could be fashioned out of this if not only for the masking accuracy but also because if done correctly you could isolate the segment of banding and then apply various methods of debanding/dither to it while keeping the majority of the actual scene intact.
Unfortunately as it stands, I can not code, so I am unable to implement this procedure nor do I know a possible way to. I also don't know much between the different methods/techniques of wavelet decomposition. However I would like to know what other people think about this, and if anyone knows if this would be even remotely possible.
The basic idea is that the image is decomposed into multiple layers based upon frequency.
The idea is that you use wavelets to decompose a frame into x amount of iterations each taking up a separate frame. You can then use/manipulate/filter any one or all of the decomposed frames and then recompose the image. Hopefully you should be able to decompose and recompile with little to no loss of detail, if you only apply the changes made within the decomposed frame to the sector that was decomposed in the first place then decomposition inaccuracy can be mitigated.
I want to be able to take a frame and essentially break it down into various wavelengths, separating the various wavelength decomposed images into different frames.
Here is an example atleast in theoretical terms
Note: just gonna say decompositions default at 1 being the original image
Number of wavelet decompositions 3
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Highest frequency segments
Number of wavelet decompositions 4
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Mid frequency segments
Frame 4: Highest frequency segments
Number of wavelet decompositions 6
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Low frequency segments
Frame 4: Mid frequency segments
Frame 5: High frequency segments
Frame 6: Highest frequency segments
Number of wavelet decompositions 8
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Low frequency segments
Frame 4: Lower Mid frequency segments
Frame 5: Mid frequency segments
Frame 6: Higher Mid frequency segments
Frame 7: High frequency segments
Frame 8: Highest frequency segments
Number of wavelet decompositions 10
Frame 1: Original Image
Frame 2: Lowest frequency segments
Frame 3: Lower frequency segments
Frame 4: Low frequency segments
Frame 5: Lower Mid frequency segments
Frame 6: Mid frequency segments
Frame 7: Higher Mid frequency segments
Frame 8: High frequency segments
Frame 9: Higher frequency segments
Frame 10: Highest frequency segments
You also could ask it to calculate a number of iterations but only output segments x,y and z because you know what you are looking for.
One possible usage would be wavelet decomposition to create high detail masks for denoising/sharpening. Hopefully this would give a lot more control than standard threshold based masking. Of course a threshold could be used in conjunction with the decomposed image allowing for specific targetting of regions.
Either way if possible higher bitdepths could be complementary to said system as they could increase the accuracy of the decomposition. A really competent debander could be fashioned out of this if not only for the masking accuracy but also because if done correctly you could isolate the segment of banding and then apply various methods of debanding/dither to it while keeping the majority of the actual scene intact.
Unfortunately as it stands, I can not code, so I am unable to implement this procedure nor do I know a possible way to. I also don't know much between the different methods/techniques of wavelet decomposition. However I would like to know what other people think about this, and if anyone knows if this would be even remotely possible.