[−][src]Struct opencv::features2d::BFMatcher
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
impl BFMatcher
[src]
pub fn as_raw_BFMatcher(&self) -> *const c_void
[src]
pub fn as_raw_mut_BFMatcher(&mut self) -> *mut c_void
[src]
impl BFMatcher
[src]
pub fn new(norm_type: i32, cross_check: bool) -> Result<BFMatcher>
[src]
Brute-force matcher constructor (obsolete). Please use BFMatcher.create()
C++ default parameters
- norm_type: NORM_L2
- cross_check: false
pub fn create(norm_type: i32, cross_check: bool) -> Result<Ptr<BFMatcher>>
[src]
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
Trait Implementations
impl AlgorithmTrait for BFMatcher
[src]
fn as_raw_Algorithm(&self) -> *const c_void
[src]
fn as_raw_mut_Algorithm(&mut self) -> *mut c_void
[src]
fn clear(&mut self) -> Result<()>
[src]
fn write(&self, fs: &mut FileStorage) -> Result<()>
[src]
fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
[src]
fn read(&mut self, fn_: &FileNode) -> Result<()>
[src]
fn empty(&self) -> Result<bool>
[src]
fn save(&self, filename: &str) -> Result<()>
[src]
fn get_default_name(&self) -> Result<String>
[src]
impl BFMatcherTrait for BFMatcher
[src]
fn as_raw_BFMatcher(&self) -> *const c_void
[src]
fn as_raw_mut_BFMatcher(&mut self) -> *mut c_void
[src]
fn is_mask_supported(&self) -> Result<bool>
[src]
fn clone(&self, empty_train_data: bool) -> Result<Ptr<dyn DescriptorMatcher>>
[src]
impl Boxed for BFMatcher
[src]
unsafe fn from_raw(ptr: *mut c_void) -> Self
[src]
fn into_raw(self) -> *mut c_void
[src]
fn as_raw(&self) -> *const c_void
[src]
fn as_raw_mut(&mut self) -> *mut c_void
[src]
impl DescriptorMatcher for BFMatcher
[src]
fn as_raw_DescriptorMatcher(&self) -> *const c_void
[src]
fn as_raw_mut_DescriptorMatcher(&mut self) -> *mut c_void
[src]
fn add(&mut self, descriptors: &dyn ToInputArray) -> Result<()>
[src]
fn get_train_descriptors(&self) -> Result<Vector<Mat>>
[src]
fn clear(&mut self) -> Result<()>
[src]
fn empty(&self) -> Result<bool>
[src]
fn is_mask_supported(&self) -> Result<bool>
[src]
fn train(&mut self) -> Result<()>
[src]
fn train_match(
&self,
query_descriptors: &dyn ToInputArray,
train_descriptors: &dyn ToInputArray,
matches: &mut Vector<DMatch>,
mask: &dyn ToInputArray
) -> Result<()>
[src]
&self,
query_descriptors: &dyn ToInputArray,
train_descriptors: &dyn ToInputArray,
matches: &mut Vector<DMatch>,
mask: &dyn ToInputArray
) -> Result<()>
fn knn_train_match(
&self,
query_descriptors: &dyn ToInputArray,
train_descriptors: &dyn ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32,
mask: &dyn ToInputArray,
compact_result: bool
) -> Result<()>
[src]
&self,
query_descriptors: &dyn ToInputArray,
train_descriptors: &dyn ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32,
mask: &dyn ToInputArray,
compact_result: bool
) -> Result<()>
fn radius_train_match(
&self,
query_descriptors: &dyn ToInputArray,
train_descriptors: &dyn ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32,
mask: &dyn ToInputArray,
compact_result: bool
) -> Result<()>
[src]
&self,
query_descriptors: &dyn ToInputArray,
train_descriptors: &dyn ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32,
mask: &dyn ToInputArray,
compact_result: bool
) -> Result<()>
fn match_(
&mut self,
query_descriptors: &dyn ToInputArray,
matches: &mut Vector<DMatch>,
masks: &dyn ToInputArray
) -> Result<()>
[src]
&mut self,
query_descriptors: &dyn ToInputArray,
matches: &mut Vector<DMatch>,
masks: &dyn ToInputArray
) -> Result<()>
fn knn_match(
&mut self,
query_descriptors: &dyn ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32,
masks: &dyn ToInputArray,
compact_result: bool
) -> Result<()>
[src]
&mut self,
query_descriptors: &dyn ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32,
masks: &dyn ToInputArray,
compact_result: bool
) -> Result<()>
fn radius_match(
&mut self,
query_descriptors: &dyn ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32,
masks: &dyn ToInputArray,
compact_result: bool
) -> Result<()>
[src]
&mut self,
query_descriptors: &dyn ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32,
masks: &dyn ToInputArray,
compact_result: bool
) -> Result<()>
fn write(&self, file_name: &str) -> Result<()>
[src]
fn read(&mut self, file_name: &str) -> Result<()>
[src]
fn read_1(&mut self, unnamed: &FileNode) -> Result<()>
[src]
fn write_1(&self, unnamed: &mut FileStorage) -> Result<()>
[src]
fn clone(&self, empty_train_data: bool) -> Result<Ptr<dyn DescriptorMatcher>>
[src]
fn write_2(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
[src]
impl Drop for BFMatcher
[src]
impl Send for BFMatcher
[src]
Auto Trait Implementations
impl RefUnwindSafe for BFMatcher
impl !Sync for BFMatcher
impl Unpin for BFMatcher
impl UnwindSafe for BFMatcher
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,