Struct opencv::features2d::DescriptorMatcher
source · pub struct DescriptorMatcher { /* private fields */ }
Expand description
Abstract base class for matching keypoint descriptors.
It has two groups of match methods: for matching descriptors of an image with another image or with an image set.
Implementations§
source§impl DescriptorMatcher
impl DescriptorMatcher
sourcepub fn create(descriptor_matcher_type: &str) -> Result<Ptr<DescriptorMatcher>>
pub fn create(descriptor_matcher_type: &str) -> Result<Ptr<DescriptorMatcher>>
Creates a descriptor matcher of a given type with the default parameters (using default constructor).
§Parameters
- descriptorMatcherType: Descriptor matcher type. Now the following matcher types are supported:
BruteForce
(it uses L2 )BruteForce-L1
BruteForce-Hamming
BruteForce-Hamming(2)
FlannBased
pub fn create_with_matcher_type( matcher_type: DescriptorMatcher_MatcherType ) -> Result<Ptr<DescriptorMatcher>>
Trait Implementations§
source§impl AlgorithmTrait for DescriptorMatcher
impl AlgorithmTrait for DescriptorMatcher
source§impl AlgorithmTraitConst for DescriptorMatcher
impl AlgorithmTraitConst for DescriptorMatcher
fn as_raw_Algorithm(&self) -> *const c_void
source§fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>
fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>
Stores algorithm parameters in a file storage
source§fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
Stores algorithm parameters in a file storage Read more
source§fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
@deprecated Read more
source§fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>
fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>
👎Deprecated:
§Note
Deprecated: ## Note
This alternative version of AlgorithmTraitConst::write_with_name function uses the following default values for its arguments: Read more
source§fn empty(&self) -> Result<bool>
fn empty(&self) -> Result<bool>
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
source§fn save(&self, filename: &str) -> Result<()>
fn save(&self, filename: &str) -> Result<()>
Saves the algorithm to a file.
In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
source§fn get_default_name(&self) -> Result<String>
fn get_default_name(&self) -> Result<String>
Returns the algorithm string identifier.
This string is used as top level xml/yml node tag when the object is saved to a file or string.
source§impl Boxed for DescriptorMatcher
impl Boxed for DescriptorMatcher
source§unsafe fn from_raw(
ptr: <DescriptorMatcher as OpenCVFromExtern>::ExternReceive
) -> Self
unsafe fn from_raw( ptr: <DescriptorMatcher as OpenCVFromExtern>::ExternReceive ) -> Self
Wrap the specified raw pointer Read more
source§fn into_raw(
self
) -> <DescriptorMatcher as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw( self ) -> <DescriptorMatcher as OpenCVTypeExternContainer>::ExternSendMut
Return the underlying raw pointer while consuming this wrapper. Read more
source§fn as_raw(&self) -> <DescriptorMatcher as OpenCVTypeExternContainer>::ExternSend
fn as_raw(&self) -> <DescriptorMatcher as OpenCVTypeExternContainer>::ExternSend
Return the underlying raw pointer. Read more
source§fn as_raw_mut(
&mut self
) -> <DescriptorMatcher as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut( &mut self ) -> <DescriptorMatcher as OpenCVTypeExternContainer>::ExternSendMut
Return the underlying mutable raw pointer Read more
source§impl Debug for DescriptorMatcher
impl Debug for DescriptorMatcher
source§impl DescriptorMatcherTrait for DescriptorMatcher
impl DescriptorMatcherTrait for DescriptorMatcher
fn as_raw_mut_DescriptorMatcher(&mut self) -> *mut c_void
source§fn add(&mut self, descriptors: &impl ToInputArray) -> Result<()>
fn add(&mut self, descriptors: &impl ToInputArray) -> Result<()>
Adds descriptors to train a CPU(trainDescCollectionis) or GPU(utrainDescCollectionis) descriptor
collection. Read more
source§fn match_(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<DMatch>,
masks: &impl ToInputArray
) -> Result<()>
fn match_( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<DMatch>, masks: &impl ToInputArray ) -> Result<()>
Finds the best match for each descriptor from a query set. Read more
source§fn match__def(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<DMatch>
) -> Result<()>
fn match__def( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<DMatch> ) -> Result<()>
@overload Read more
source§fn knn_match(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32,
masks: &impl ToInputArray,
compact_result: bool
) -> Result<()>
fn knn_match( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, k: i32, masks: &impl ToInputArray, compact_result: bool ) -> Result<()>
Finds the k best matches for each descriptor from a query set. Read more
source§fn knn_match_def(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32
) -> Result<()>
fn knn_match_def( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, k: i32 ) -> Result<()>
@overload Read more
source§fn radius_match(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32,
masks: &impl ToInputArray,
compact_result: bool
) -> Result<()>
fn radius_match( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, max_distance: f32, masks: &impl ToInputArray, compact_result: bool ) -> Result<()>
For each query descriptor, finds the training descriptors not farther than the specified distance. Read more
source§fn radius_match_def(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32
) -> Result<()>
fn radius_match_def( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, max_distance: f32 ) -> Result<()>
@overload Read more
fn read(&mut self, file_name: &str) -> Result<()>
fn read_from_node(&mut self, unnamed: &impl FileNodeTraitConst) -> Result<()>
source§impl DescriptorMatcherTraitConst for DescriptorMatcher
impl DescriptorMatcherTraitConst for DescriptorMatcher
fn as_raw_DescriptorMatcher(&self) -> *const c_void
source§fn get_train_descriptors(&self) -> Result<Vector<Mat>>
fn get_train_descriptors(&self) -> Result<Vector<Mat>>
Returns a constant link to the train descriptor collection trainDescCollection .
source§fn empty(&self) -> Result<bool>
fn empty(&self) -> Result<bool>
Returns true if there are no train descriptors in the both collections.
source§fn is_mask_supported(&self) -> Result<bool>
fn is_mask_supported(&self) -> Result<bool>
Returns true if the descriptor matcher supports masking permissible matches.
source§fn train_match(
&self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<DMatch>,
mask: &impl ToInputArray
) -> Result<()>
fn train_match( &self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<DMatch>, mask: &impl ToInputArray ) -> Result<()>
Finds the best match for each descriptor from a query set. Read more
source§fn train_match_def(
&self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<DMatch>
) -> Result<()>
fn train_match_def( &self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<DMatch> ) -> Result<()>
Finds the best match for each descriptor from a query set. Read more
source§fn knn_train_match(
&self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32,
mask: &impl ToInputArray,
compact_result: bool
) -> Result<()>
fn knn_train_match( &self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, k: i32, mask: &impl ToInputArray, compact_result: bool ) -> Result<()>
Finds the k best matches for each descriptor from a query set. Read more
source§fn knn_train_match_def(
&self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32
) -> Result<()>
fn knn_train_match_def( &self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, k: i32 ) -> Result<()>
Finds the k best matches for each descriptor from a query set. Read more
source§fn radius_train_match(
&self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32,
mask: &impl ToInputArray,
compact_result: bool
) -> Result<()>
fn radius_train_match( &self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, max_distance: f32, mask: &impl ToInputArray, compact_result: bool ) -> Result<()>
For each query descriptor, finds the training descriptors not farther than the specified distance. Read more
source§fn radius_train_match_def(
&self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32
) -> Result<()>
fn radius_train_match_def( &self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, max_distance: f32 ) -> Result<()>
For each query descriptor, finds the training descriptors not farther than the specified distance. Read more
fn write(&self, file_name: &str) -> Result<()>
fn write_to_storage(&self, unnamed: &mut impl FileStorageTrait) -> Result<()>
source§fn clone(&self, empty_train_data: bool) -> Result<Ptr<DescriptorMatcher>>
fn clone(&self, empty_train_data: bool) -> Result<Ptr<DescriptorMatcher>>
Clones the matcher. Read more
fn write_to_storage_with_name( &self, fs: &mut impl FileStorageTrait, name: &str ) -> Result<()>
fn write_to_storage_ptr_with_name( &self, fs: &Ptr<FileStorage>, name: &str ) -> Result<()>
source§impl Drop for DescriptorMatcher
impl Drop for DescriptorMatcher
source§impl From<BFMatcher> for DescriptorMatcher
impl From<BFMatcher> for DescriptorMatcher
source§impl From<DescriptorMatcher> for Algorithm
impl From<DescriptorMatcher> for Algorithm
source§fn from(s: DescriptorMatcher) -> Self
fn from(s: DescriptorMatcher) -> Self
Converts to this type from the input type.
source§impl From<FlannBasedMatcher> for DescriptorMatcher
impl From<FlannBasedMatcher> for DescriptorMatcher
source§fn from(s: FlannBasedMatcher) -> Self
fn from(s: FlannBasedMatcher) -> Self
Converts to this type from the input type.
source§impl TryFrom<DescriptorMatcher> for BFMatcher
impl TryFrom<DescriptorMatcher> for BFMatcher
source§impl TryFrom<DescriptorMatcher> for FlannBasedMatcher
impl TryFrom<DescriptorMatcher> for FlannBasedMatcher
impl Send for DescriptorMatcher
Auto Trait Implementations§
impl Freeze for DescriptorMatcher
impl RefUnwindSafe for DescriptorMatcher
impl !Sync for DescriptorMatcher
impl Unpin for DescriptorMatcher
impl UnwindSafe for DescriptorMatcher
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
source§impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
source§unsafe fn modify_inplace<Res>(
&mut self,
f: impl FnOnce(&Mat, &mut Mat) -> Res
) -> Res
unsafe fn modify_inplace<Res>( &mut self, f: impl FnOnce(&Mat, &mut Mat) -> Res ) -> Res
Helper function to call OpenCV functions that allow in-place modification of a
Mat
or another similar object. By passing
a mutable reference to the Mat
to this function your closure will get called with the read reference and a write references
to the same Mat
. This is of course unsafe as it breaks the Rust aliasing rules, but it might be useful for some performance
sensitive operations. One example of an OpenCV function that allows such in-place modification is imgproc::threshold
. Read more