Skip to main content
1 of 2

A fairly basic but effective technique is median filtering. For video, you can apply it (spatio)temporally by replacing the value of each pixel in each frame by the median of the values of the pixel (and its neighbors) in the current and the N previous and later frames.

A nice feature of median filtering is that it preserves linear edges (and, when used temporally, edges that move at a steady rate). It does, however, tend to erode sharp corners and narrow ridges (and, temporally, narrow fast-moving features). When overused, spatial median filtering has a tendency to create an over-smooth "plastic" appearance, while excessive temporal median filtering can even make small, fast-moving objects disappear completely. (Sometimes this is considered a feature.)

It's possible to fine-tune and improve median filtering further with advanced techniques like motion tracking and threshold detection, but those also introduce an extra layer of complexity, and thus extra opportunities for unwanted artifacts if applied carelessly. For many purposes, a simple median filter of moderate size and strength is often all you really need.