Image noise reduction
Jump to navigation
Jump to search
This article/section is a stub — probably a pile of half-sorted notes and is probably a first version, is not well-checked, so may have incorrect bits. (Feel free to ignore, or tell me) |
gaussian blur
(or other simple interpolating blurs)
Upsides:
- Simple. Fairly fast.
- does not introduce spurious detail
Downsides:
- indiscriminantly removes (high-)frequency content. a.k.a. "Smears everything"
median filtering
Upsides:
- Simple. Not quite as fast as you'ld think.
- rejects outliers; best example is rejecting salt and pepper noise
- will preserve edges better than e.g. linear interpolation
Downsides:
- can remove high-frequency signal
- the edge preservation depends on some conditions, so doesn't always happen. The mix can look odd.
total variation denoising
Varies amount of blur by the amount of variation near the pixel.
Which means it mostly lessens noise in otherwise flat regions, while leaving spikes and edges mostly intact.
Upsides:
- This tends to look more detailed than a basic mean filter, particularly on sharp images
Downsides:
- Can't really tell what real edges are; for subtler images it can be much like mean
See also:
- http://en.wikipedia.org/wiki/Total_variation_denoising
- Playing with:
bilateral denoise
Reduce noise while preserving edges.
Averages based on their spatial closeness and radiometric similarity, and potentially other metrics. Like total-variance denoising in that it easily preserves edges, yet is often more true to photographic original than.
Playing with:
- http://scikit-image.org/docs/dev/auto_examples/plot_denoise.html
- http://scikit-image.org/docs/dev/api/skimage.restoration.html#denoise-bilateral
non-local means denoising
See also:
Anisotropic diffusion
See also:
Wiener filter
See also:
- http://www.cs.tau.ac.il/~turkel/notes/wiener_theory.html
- https://www.clear.rice.edu/elec431/projects95/lords/wiener.html
- http://blogs.mathworks.com/steve/2007/11/02/image-deblurring-wiener-filter/
- http://en.wikipedia.org/wiki/Wiener_filter