Dust and scratches filter?

RichMacDonald schrieb am 30.01.2005 um 21:53 Uhr
I've been doing a lot of work with the dynamic noise reduction and smart smoother filters in series (Mike Crash's free filters) to improve my low-light footage. I find I can use a lot of dynamic noise reduction -- the limit is when ghosting appears, but the smart smoother takes out of lot detail. Still it is sometimes necessary. One limitation of the smart smoother is that it produces lots of individual pixels that are the wrong color -- created artifacts. It occurs to me that a "dust and scratches" filter would be perfect to fix this final issue. Photoshop has a terrific dust and scratches filter, but I don't know of anything for Vegas. The standard noise-reduction filters such as median are far too "strong" and destroy the edge detail. I'm now checking out the Virtualdub filters to see if there is anything useful. Has anyone checked this out before? Either a good virtualdub filter, or some vegas technique that I'm unaware of? TIA.

EDIT: I've tried the VirtualDub spotremover and it simply cannot detect individual pixels; rather it looks for larger regions. I ran a test with the photoshop dust and scratches filter and even that can only remove a small fraction (1-5%) of the noise without ruining all the detail. So its probably SOL. Still, I think that noisy pixels are better than blurry objects (as in, what the hell is that and why couldn't the camerman stay in focus ;-), so I'm ahead of the game.

Kommentare

B_JM schrieb am 31.01.2005 um 00:51 Uhr
i used to do it by hand frame by bloody frame -- which is the best way for dust and scratches.


but you might want to look at pictureman , ive never used it , but i see it has pretty good scratch and such removal -- i think they have a demo

http://www.stoik.com/pictureman/

there are other products out there also -- but most for film scaners , but not all ..

johnmeyer schrieb am 31.01.2005 um 03:37 Uhr
There are some amazing AVISynth filters that work magic with dust. I use Despot. Here's a sample set of settings:

DeSpot(p1=20,p2=8,pwidth=240,pheight=5,mthres=14,mwidth=20,mheight=15,interlaced=true,merode=43)

You have to play with the settings quite a bit so buttons on people's clothes don't disappear, but if you are willing to tweak for a few mintues, you can pretty much eliminate dust. Of course, you should always first clean the film but you already knew that.

Now this is for dust on film. If you are talking about noise on video, then there are some amazing AVISynth filters for that as well. Here's my general purpose AVISynth script for doing every possible cleanup to VHS video. You can tweak for cleaner sources:


#Serve RGB32 from Vegas. If going into Mainconcept MPEG encoder,
#convert back to RGB32 in this script. Check the RGB 16-235 box in the Mainconcept encoder.

loadplugin("c:\Program Files\AviSynth 2.5\plugins\despot.dll")

# CNR2 does NOT need to be fed deinterlaced frames
loadPlugin("c:\Program Files\AviSynth 2.5\plugins\CNR\Cnr2.dll")
loadPlugin("c:\Program Files\AviSynth 2.5\plugins\defreq.dll")
# defreq is for removing "herring bone" diagnol lines from overdriven cable video

AVISource("E:\NPS\NPS0007.avi")

#These plugins require color space conversion
converttoYV12(interlaced=true)

# The following is for DeFreq. Use show, info to get parameters.
# Get rid of separatefields when doing show (bug in code)
AssumeBFF
SeparateFields()
DeFreq(fx=7.2, fy=6.3, sharp=9.2, fx2=9.7, fy2=12.5,sharp2=5.0 )
Weave()

#Cnr is for chroma noise reduction (use for analog video)
Cnr2("oxx",8,16,191,100,255,32,255,false)
#Cnr2("oxx",8,16,191,100,255,32,255,false) #this is CNR for VHS
#Cnr2("oxx",8,14,191,75,255,20,255,false) #this is CNR for Laserdisc

#fluxsmooth is for temporal noise reduction
fluxsmoothT(15)

#DeSpot is for film dust
DeSpot(p1=20,p2=8,pwidth=240,pheight=5,mthres=14,mwidth=20,mheight=15,interlaced=true,merode=43)

#Pick the color conversion for final output
#converttoYUY2(interlaced=true)

# RGB required when going to VD (no RGB required in MC in VD)
#ConvertToRGB32(interlaced=true)

# This line required when going to MC external encoder
#Levels(16, 1, 235, 0, 255, coring=false)


#Alternative way to use Defreq (to work around the bug)
#converttoYV12(interlaced=true)
#AssumeBFF
#bob()
#DeFreq(fx=6.1, fy=4.2, sharp=8.1, fx2=8.6, fy2=13.8,sharp2=7.3, show=false,info=false )
#assumebff()
#separatefields()
#selectevery(4,0,3)
#weave()
mikedaul schrieb am 27.05.2005 um 02:02 Uhr
OK - a DUMB question, but I've going crazy trying to figure this out...

What app are you using to open and run your avisyth scripts? Despot won't work for me in virtualdub or virtualdubmod. I try to open via windows media player but it just outputs a black screen. Basically, please talk me through this in as much noob-ish detail as possible :)

THANKS!
johnmeyer schrieb am 27.05.2005 um 02:12 Uhr
What app are you using to open and run your avisyth scripts?

1. Install AVISynth. This will install a "handler" so that most (but not all) applications will open the AVISynth scripts that have the extension "AVS." (Vegas, unfortunately, will not open these -- although there is a workaround using WAX, but that is beyond the scope of this response).

2. Write your AVISynth script. In the script itself, you have to open the AVI file.

3. Open it in VirtualDub. I am using 1.5.10, build 18160. There is nothing magic about this, but since there are dozens of releases floating around, I thought I'd be specific.

You can use VirtualDub to look at the results of your script. If you want to see a before and after, simultaneously, within VirtualDub, you add a StackVertical command to your AVISynth script and specify "last" for the top part and then use your plugin for the bottom part.

You can either save the result of your script from VirtualDub, using one of your installed codecs (I use the MainConcept DV codec or the Huffyuv codec), or you can frameserve out of VirtualDub into an external encoder (I often use the MainConcept MPEG encoder), or back into Vegas (using Wax).