Struct opencv::features2d::BFMatcher
source · pub struct BFMatcher { /* private fields */ }
Expand description
Brute-force descriptor matcher.
For each descriptor in the first set, this matcher finds the closest descriptor in the second set by trying each one. This descriptor matcher supports masking permissible matches of descriptor sets.
Implementations§
source§impl BFMatcher
impl BFMatcher
sourcepub fn new(norm_type: i32, cross_check: bool) -> Result<BFMatcher>
pub fn new(norm_type: i32, cross_check: bool) -> Result<BFMatcher>
Brute-force matcher constructor (obsolete). Please use BFMatcher.create()
C++ default parameters
- norm_type: NORM_L2
- cross_check: false
sourcepub fn new_def() -> Result<BFMatcher>
pub fn new_def() -> Result<BFMatcher>
Brute-force matcher constructor (obsolete). Please use BFMatcher.create()
Note
This alternative version of [new] function uses the following default values for its arguments:
- norm_type: NORM_L2
- cross_check: false
sourcepub fn create(norm_type: i32, cross_check: bool) -> Result<Ptr<BFMatcher>>
pub fn create(norm_type: i32, cross_check: bool) -> Result<Ptr<BFMatcher>>
Brute-force matcher create method.
Parameters
- normType: One of NORM_L1, NORM_L2, NORM_HAMMING, NORM_HAMMING2. L1 and L2 norms are preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB, BRISK and BRIEF, NORM_HAMMING2 should be used with ORB when WTA_K==3 or 4 (see ORB::ORB constructor description).
- crossCheck: If it is false, this is will be default BFMatcher behaviour when it finds the k nearest neighbors for each query descriptor. If crossCheck==true, then the knnMatch() method with k=1 will only return pairs (i,j) such that for i-th query descriptor the j-th descriptor in the matcher’s collection is the nearest and vice versa, i.e. the BFMatcher will only return consistent pairs. Such technique usually produces best results with minimal number of outliers when there are enough matches. This is alternative to the ratio test, used by D. Lowe in SIFT paper.
C++ default parameters
- norm_type: NORM_L2
- cross_check: false
sourcepub fn create_def() -> Result<Ptr<BFMatcher>>
pub fn create_def() -> Result<Ptr<BFMatcher>>
Brute-force matcher create method.
Parameters
- normType: One of NORM_L1, NORM_L2, NORM_HAMMING, NORM_HAMMING2. L1 and L2 norms are preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB, BRISK and BRIEF, NORM_HAMMING2 should be used with ORB when WTA_K==3 or 4 (see ORB::ORB constructor description).
- crossCheck: If it is false, this is will be default BFMatcher behaviour when it finds the k nearest neighbors for each query descriptor. If crossCheck==true, then the knnMatch() method with k=1 will only return pairs (i,j) such that for i-th query descriptor the j-th descriptor in the matcher’s collection is the nearest and vice versa, i.e. the BFMatcher will only return consistent pairs. Such technique usually produces best results with minimal number of outliers when there are enough matches. This is alternative to the ratio test, used by D. Lowe in SIFT paper.
Note
This alternative version of [create] function uses the following default values for its arguments:
- norm_type: NORM_L2
- cross_check: false
Trait Implementations§
source§impl AlgorithmTrait for BFMatcher
impl AlgorithmTrait for BFMatcher
source§impl AlgorithmTraitConst for BFMatcher
impl AlgorithmTraitConst for BFMatcher
fn as_raw_Algorithm(&self) -> *const c_void
source§fn write(&self, fs: &mut FileStorage) -> Result<()>
fn write(&self, fs: &mut FileStorage) -> Result<()>
Stores algorithm parameters in a file storage
source§fn write_1(&self, fs: &mut FileStorage, name: &str) -> Result<()>
fn write_1(&self, fs: &mut FileStorage, 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 [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 BFMatcherTrait for BFMatcher
impl BFMatcherTrait for BFMatcher
fn as_raw_mut_BFMatcher(&mut self) -> *mut c_void
source§impl BFMatcherTraitConst for BFMatcher
impl BFMatcherTraitConst for BFMatcher
source§impl Boxed for BFMatcher
impl Boxed for BFMatcher
source§impl DescriptorMatcherTrait for BFMatcher
impl DescriptorMatcherTrait for BFMatcher
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_1(&mut self, unnamed: &FileNode) -> Result<()>
source§impl DescriptorMatcherTraitConst for BFMatcher
impl DescriptorMatcherTraitConst for BFMatcher
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_1(&self, unnamed: &mut FileStorage) -> 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_2(&self, fs: &mut FileStorage, name: &str) -> Result<()>
fn write_3(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
source§impl From<BFMatcher> for DescriptorMatcher
impl From<BFMatcher> for DescriptorMatcher
source§impl TryFrom<DescriptorMatcher> for BFMatcher
impl TryFrom<DescriptorMatcher> for BFMatcher
impl Send for BFMatcher
Auto Trait Implementations§
impl RefUnwindSafe for BFMatcher
impl !Sync for BFMatcher
impl Unpin for BFMatcher
impl UnwindSafe for BFMatcher
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