PDA

View Full Version : cleaning dust spots


AlanHK
5th June 2007, 17:50
I've got a TV capture of an old movie, quality is fine except lots of white dust spots -- small white spots, a few pixels in size, each on one frame only.

The best result so far is RemoveDirt, which gets most of the spots. However, it also blurs the entire frame a bit. I can add a sharpen to get back to almost the original quality. But I wonder if there is something that just fills in the white spots without messing with the rest of the frame?

Boulder
5th June 2007, 19:06
Fizick's DeSpot is something to try, possibly MVDegrain2 as well.

rampampam
5th June 2007, 20:16
how about RemoveNoiseMC? its a little slow though ...

IanB
6th June 2007, 01:51
We want a temporal version of UnDot() for this sort of thing. Do we have such a beastie?

ARDA
6th June 2007, 02:59
We want a temporal version of UnDot() for this sort of thing. Do we have such a beastie?

If I understand right; STMedianFilter by Tom Barry
http://www.trbarry.com/STMedianFilter.zip

and an updated bug fixed by Fizick
http://avisynth.org.ru/stmedian/stmedianfilter0103.zip

....................................................................................
From Readme_STMedianFilter

METHOD OF OPERATION

But if I understand it right a simple median filter is just a clipping step
where a value is set to not extend past the high and low of its neighbors.

For instance, if you had 3 pixels in a row that had the values <5,8,7> you
could clip the center one to not be outside the low of 5 or the high of 7,
so you would set it to 7.

Now imagine you had a small 3x3 video screen, like one surface of a Rubiks
cube. Imagine the previous frame was the bottom layer of the cube, the
current frame was the middle layer, and the next frame was the top.

Then the current center pixel would be right in the center of the Rubics
cube and there would be 13 ways you could draw a line through it and a pair
of two nearest neighbors.

What I did was to compare each of those pairs of neighbors to see which
pair was most agreeing on value. I used that pair to clip the value of the
center pixel.

I also clipped the pixel value only if both:

1) It would not change the pixel value by more then the FilterThreshold parm value, and

2) The amount of 'uncompensated motion' (agreement on value by neighbors) was less than the MotionThreshHold parm value.
....................................................................................
ARDA

foxyshadis
7th June 2007, 05:07
DeGrainMedian is fizick's further enhancement (and optimization) of STMedianFilter.