pub enum DenoiseMethod {
Bilateral,
Gaussian,
Median,
Mean,
Nlmeans,
Anisotropic,
}Expand description
Which spatial denoise algorithm super::VideoFilter::Denoise runs. Each
suits a different kind of noise; strength then blends the result with the
source. (Temporal denoisers — hqdn3d / NLM-temporal — need frame history and
don’t fit this stateless per-frame filter; a future extension.)
Variants§
Bilateral
Edge-preserving bilateral filter (5×5): smooths flat / sensor noise while keeping edges sharp. The general-purpose default.
Gaussian
Gaussian low-pass blur (separable 5×5): smooths everything, so it softens fine detail along with the noise.
Median
Median filter (3×3): best for salt-and-pepper / impulse noise; also edge-preserving.
Mean
Mean (box) blur over a 3×3 window — the cheapest smoother; blurs noise and detail equally.
Nlmeans
Non-local means: averages samples weighted by how similar their surrounding patch is, so repeating texture denoises without blurring. Highest classical quality — and by far the slowest.
Anisotropic
Anisotropic diffusion (Perona–Malik): gradient-gated diffusion — smooths flat regions but stops at edges. Edge-preserving like bilateral, different character.
Trait Implementations§
Source§impl Clone for DenoiseMethod
impl Clone for DenoiseMethod
Source§fn clone(&self) -> DenoiseMethod
fn clone(&self) -> DenoiseMethod
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for DenoiseMethod
Source§impl Debug for DenoiseMethod
impl Debug for DenoiseMethod
Source§impl Default for DenoiseMethod
impl Default for DenoiseMethod
Source§fn default() -> DenoiseMethod
fn default() -> DenoiseMethod
Source§impl Display for DenoiseMethod
impl Display for DenoiseMethod
impl Eq for DenoiseMethod
Source§impl PartialEq for DenoiseMethod
impl PartialEq for DenoiseMethod
Source§fn eq(&self, other: &DenoiseMethod) -> bool
fn eq(&self, other: &DenoiseMethod) -> bool
self and other values to be equal, and is used by ==.