[][src]Function opencv::ximgproc::create_fast_global_smoother_filter

pub fn create_fast_global_smoother_filter(
    guide: &dyn ToInputArray,
    lambda: f64,
    sigma_color: f64,
    lambda_attenuation: f64,
    num_iter: i32
) -> Result<Ptr<dyn FastGlobalSmootherFilter>>

Factory method, create instance of FastGlobalSmootherFilter and execute the initialization routines.

Parameters

  • guide: image serving as guide for filtering. It should have 8-bit depth and either 1 or 3 channels.

  • lambda: parameter defining the amount of regularization

  • sigma_color: parameter, that is similar to color space sigma in bilateralFilter.

  • lambda_attenuation: internal parameter, defining how much lambda decreases after each iteration. Normally, it should be 0.25. Setting it to 1.0 may lead to streaking artifacts.

  • num_iter: number of iterations used for filtering, 3 is usually enough.

For more details about Fast Global Smoother parameters, see the original paper Min2014. However, please note that there are several differences. Lambda attenuation described in the paper is implemented a bit differently so do not expect the results to be identical to those from the paper; sigma_color values from the paper should be multiplied by 255.0 to achieve the same effect. Also, in case of image filtering where source and guide image are the same, authors propose to dynamically update the guide image after each iteration. To maximize the performance this feature was not implemented here.

C++ default parameters

  • lambda_attenuation: 0.25
  • num_iter: 3