[]Trait cv::MultiConsensus

pub trait MultiConsensus<E, Data> where
    E: Estimator<Data>,
    <Self::Inliers as IntoIterator>::Item == usize,
    <Self::Models as IntoIterator>::Item == (<E as Estimator<Data>>::Model, Self::Inliers)
{ type Inliers: IntoIterator; type Models: IntoIterator; fn models<I>(&mut self, estimator: &E, data: I) -> Self::Models
    where
        I: Iterator<Item = Data> + Clone
; }

See Consensus. A multi-consensus can handle situations where different subsets of the data are consistent with different models. This kind of consensus also considers whether a point is part of another orthoganal model that is known before assuming it is a true outlier. In this situation there are inliers of different models and then true outliers that are actual erroneous data that should be filtered out.

Associated Types

type Inliers: IntoIterator

Iterator over the indices of the inliers in the clonable iterator.

type Models: IntoIterator

Loading content...

Required methods

fn models<I>(&mut self, estimator: &E, data: I) -> Self::Models where
    I: Iterator<Item = Data> + Clone

Takes a slice over the data and an estimator instance. It returns an iterator over all of the models and all of the inliers that are consistent with that model. Every point that is not an inlier of a given model is considered an outlier of that model.

Loading content...

Implementors

Loading content...