[FFmpeg-user] Removing scratches and speckles from scanned film

John Van Ostrand john at vanostrand.com
Wed May 13 04:39:55 EEST 2020

I'd like to be able to digitally remove the speckles of dust, hair, lint
from scanned film. This isn't lens dirt, they are black spots, lines, etc.
that appear only on one frame and not on the frames before or after. They
can be large, like a blob 9px wide and 18px long or a strand a couple
pixels wide an 100px long on a diagonal, or small spots only a few pixels

It seems it could be detected by comparing each frame to the ones before
and after looking for spots that appear only on one frame. So a 3D or
temporal comparison might work. This doesn't seem to be the problem that
filters like bm3d and hqdn3d solve. They haven't even reduced the blob.

Attached are a few sample frames. Frame 12 has a blob and frame 19 has a
scratch, both on the forehead.

Is there a better filter for these? Or some radical parameters to one of
the standard denoise filters that would work?



John Van Ostrand
At large on sabbatical

More information about the ffmpeg-user mailing list