pub struct FlannMatcher { /* private fields */ }Expand description
FLANN-inspired approximate nearest-neighbour matcher built on a set of KD-trees.
Each tree is built by recursively partitioning the descriptor space along alternating axes. At query time the trees are searched in parallel with a limited number of checks per tree to trade accuracy for speed.
Implementations§
Source§impl FlannMatcher
impl FlannMatcher
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a FLANN matcher with reasonable defaults (k=2, trees=5,
checks=32).
Sourcepub fn with_trees(self, trees: usize) -> Self
pub fn with_trees(self, trees: usize) -> Self
Sets the number of trees in the forest.
Sourcepub fn with_checks(self, checks: usize) -> Self
pub fn with_checks(self, checks: usize) -> Self
Sets the maximum number of leaf checks during search.
Sourcepub fn find_matches<B: Backend>(
&self,
desc1: &Tensor<B, 2>,
desc2: &Tensor<B, 2>,
) -> Result<Vec<DMatch>>
pub fn find_matches<B: Backend>( &self, desc1: &Tensor<B, 2>, desc2: &Tensor<B, 2>, ) -> Result<Vec<DMatch>>
Finds approximate nearest-neighbour matches between two descriptor matrices.
desc1 is the query matrix of shape [N1, D] and desc2 is the
train matrix of shape [N2, D]. The function returns one
DMatch per query descriptor.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FlannMatcher
impl RefUnwindSafe for FlannMatcher
impl Send for FlannMatcher
impl Sync for FlannMatcher
impl Unpin for FlannMatcher
impl UnsafeUnpin for FlannMatcher
impl UnwindSafe for FlannMatcher
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().