Struct opencv::cudafeatures2d::CUDA_DescriptorMatcher
source · pub struct CUDA_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 CUDA_DescriptorMatcher
impl CUDA_DescriptorMatcher
sourcepub fn create_bf_matcher(norm_type: i32) -> Result<Ptr<CUDA_DescriptorMatcher>>
pub fn create_bf_matcher(norm_type: i32) -> Result<Ptr<CUDA_DescriptorMatcher>>
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.
§Parameters
- normType: One of NORM_L1, NORM_L2, NORM_HAMMING. L1 and L2 norms are preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB, BRISK and BRIEF).
§C++ default parameters
- norm_type: cv::NORM_L2
sourcepub fn create_bf_matcher_def() -> Result<Ptr<CUDA_DescriptorMatcher>>
pub fn create_bf_matcher_def() -> Result<Ptr<CUDA_DescriptorMatcher>>
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.
§Parameters
- normType: One of NORM_L1, NORM_L2, NORM_HAMMING. L1 and L2 norms are preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB, BRISK and BRIEF).
§Note
This alternative version of CUDA_DescriptorMatcher::create_bf_matcher function uses the following default values for its arguments:
- norm_type: cv::NORM_L2
Trait Implementations§
source§impl AlgorithmTraitConst for CUDA_DescriptorMatcher
impl AlgorithmTraitConst for CUDA_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<()>
source§fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
source§fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
source§fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>
fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>
§Note
source§fn empty(&self) -> Result<bool>
fn empty(&self) -> Result<bool>
source§fn save(&self, filename: &str) -> Result<()>
fn save(&self, filename: &str) -> Result<()>
source§fn get_default_name(&self) -> Result<String>
fn get_default_name(&self) -> Result<String>
source§impl Boxed for CUDA_DescriptorMatcher
impl Boxed for CUDA_DescriptorMatcher
source§unsafe fn from_raw(
ptr: <CUDA_DescriptorMatcher as OpenCVFromExtern>::ExternReceive
) -> Self
unsafe fn from_raw( ptr: <CUDA_DescriptorMatcher as OpenCVFromExtern>::ExternReceive ) -> Self
source§fn into_raw(
self
) -> <CUDA_DescriptorMatcher as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw( self ) -> <CUDA_DescriptorMatcher as OpenCVTypeExternContainer>::ExternSendMut
source§fn as_raw(
&self
) -> <CUDA_DescriptorMatcher as OpenCVTypeExternContainer>::ExternSend
fn as_raw( &self ) -> <CUDA_DescriptorMatcher as OpenCVTypeExternContainer>::ExternSend
source§fn as_raw_mut(
&mut self
) -> <CUDA_DescriptorMatcher as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut( &mut self ) -> <CUDA_DescriptorMatcher as OpenCVTypeExternContainer>::ExternSendMut
source§impl CUDA_DescriptorMatcherTrait for CUDA_DescriptorMatcher
impl CUDA_DescriptorMatcherTrait for CUDA_DescriptorMatcher
fn as_raw_mut_CUDA_DescriptorMatcher(&mut self) -> *mut c_void
source§fn add(&mut self, descriptors: &Vector<GpuMat>) -> Result<()>
fn add(&mut self, descriptors: &Vector<GpuMat>) -> Result<()>
source§fn match_(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<DMatch>,
mask: &impl ToInputArray
) -> Result<()>
fn match_( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<DMatch>, mask: &impl ToInputArray ) -> Result<()>
source§fn match__def(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<DMatch>
) -> Result<()>
fn match__def( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<DMatch> ) -> Result<()>
source§fn match__1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<DMatch>,
masks: &Vector<GpuMat>
) -> Result<()>
fn match__1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<DMatch>, masks: &Vector<GpuMat> ) -> Result<()>
source§fn match__def_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<DMatch>
) -> Result<()>
fn match__def_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<DMatch> ) -> Result<()>
source§fn match_async(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
mask: &impl ToInputArray,
stream: &mut impl StreamTrait
) -> Result<()>
fn match_async( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, mask: &impl ToInputArray, stream: &mut impl StreamTrait ) -> Result<()>
source§fn match_async_def(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray
) -> Result<()>
fn match_async_def( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray ) -> Result<()>
source§fn match_async_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
masks: &Vector<GpuMat>,
stream: &mut impl StreamTrait
) -> Result<()>
fn match_async_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, masks: &Vector<GpuMat>, stream: &mut impl StreamTrait ) -> Result<()>
source§fn match_async_def_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray
) -> Result<()>
fn match_async_def_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray ) -> Result<()>
source§fn match_convert(
&mut self,
gpu_matches: &impl ToInputArray,
matches: &mut Vector<DMatch>
) -> Result<()>
fn match_convert( &mut self, gpu_matches: &impl ToInputArray, matches: &mut Vector<DMatch> ) -> Result<()>
source§fn knn_match(
&mut 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_match( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, k: i32, mask: &impl ToInputArray, compact_result: bool ) -> Result<()>
source§fn knn_match_def(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32
) -> Result<()>
fn knn_match_def( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, k: i32 ) -> Result<()>
source§fn knn_match_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32,
masks: &Vector<GpuMat>,
compact_result: bool
) -> Result<()>
fn knn_match_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, k: i32, masks: &Vector<GpuMat>, compact_result: bool ) -> Result<()>
source§fn knn_match_def_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
k: i32
) -> Result<()>
fn knn_match_def_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, k: i32 ) -> Result<()>
source§fn knn_match_async(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
k: i32,
mask: &impl ToInputArray,
stream: &mut impl StreamTrait
) -> Result<()>
fn knn_match_async( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, k: i32, mask: &impl ToInputArray, stream: &mut impl StreamTrait ) -> Result<()>
source§fn knn_match_async_def(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
k: i32
) -> Result<()>
fn knn_match_async_def( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, k: i32 ) -> Result<()>
source§fn knn_match_async_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
k: i32,
masks: &Vector<GpuMat>,
stream: &mut impl StreamTrait
) -> Result<()>
fn knn_match_async_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, k: i32, masks: &Vector<GpuMat>, stream: &mut impl StreamTrait ) -> Result<()>
source§fn knn_match_async_def_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
k: i32
) -> Result<()>
fn knn_match_async_def_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, k: i32 ) -> Result<()>
source§fn knn_match_convert(
&mut self,
gpu_matches: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
compact_result: bool
) -> Result<()>
fn knn_match_convert( &mut self, gpu_matches: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, compact_result: bool ) -> Result<()>
source§fn knn_match_convert_def(
&mut self,
gpu_matches: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>
) -> Result<()>
fn knn_match_convert_def( &mut self, gpu_matches: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>> ) -> Result<()>
source§fn radius_match(
&mut 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_match( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, max_distance: f32, mask: &impl ToInputArray, compact_result: bool ) -> Result<()>
source§fn radius_match_def(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32
) -> Result<()>
fn radius_match_def( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, max_distance: f32 ) -> Result<()>
source§fn radius_match_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32,
masks: &Vector<GpuMat>,
compact_result: bool
) -> Result<()>
fn radius_match_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, max_distance: f32, masks: &Vector<GpuMat>, compact_result: bool ) -> Result<()>
source§fn radius_match_def_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
max_distance: f32
) -> Result<()>
fn radius_match_def_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, max_distance: f32 ) -> Result<()>
source§fn radius_match_async(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
max_distance: f32,
mask: &impl ToInputArray,
stream: &mut impl StreamTrait
) -> Result<()>
fn radius_match_async( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, max_distance: f32, mask: &impl ToInputArray, stream: &mut impl StreamTrait ) -> Result<()>
source§fn radius_match_async_def(
&mut self,
query_descriptors: &impl ToInputArray,
train_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
max_distance: f32
) -> Result<()>
fn radius_match_async_def( &mut self, query_descriptors: &impl ToInputArray, train_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, max_distance: f32 ) -> Result<()>
source§fn radius_match_async_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
max_distance: f32,
masks: &Vector<GpuMat>,
stream: &mut impl StreamTrait
) -> Result<()>
fn radius_match_async_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, max_distance: f32, masks: &Vector<GpuMat>, stream: &mut impl StreamTrait ) -> Result<()>
source§fn radius_match_async_def_1(
&mut self,
query_descriptors: &impl ToInputArray,
matches: &mut impl ToOutputArray,
max_distance: f32
) -> Result<()>
fn radius_match_async_def_1( &mut self, query_descriptors: &impl ToInputArray, matches: &mut impl ToOutputArray, max_distance: f32 ) -> Result<()>
source§fn radius_match_convert(
&mut self,
gpu_matches: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>,
compact_result: bool
) -> Result<()>
fn radius_match_convert( &mut self, gpu_matches: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>>, compact_result: bool ) -> Result<()>
source§fn radius_match_convert_def(
&mut self,
gpu_matches: &impl ToInputArray,
matches: &mut Vector<Vector<DMatch>>
) -> Result<()>
fn radius_match_convert_def( &mut self, gpu_matches: &impl ToInputArray, matches: &mut Vector<Vector<DMatch>> ) -> Result<()>
source§impl CUDA_DescriptorMatcherTraitConst for CUDA_DescriptorMatcher
impl CUDA_DescriptorMatcherTraitConst for CUDA_DescriptorMatcher
fn as_raw_CUDA_DescriptorMatcher(&self) -> *const c_void
source§fn is_mask_supported(&self) -> Result<bool>
fn is_mask_supported(&self) -> Result<bool>
source§impl Debug for CUDA_DescriptorMatcher
impl Debug for CUDA_DescriptorMatcher
source§impl Drop for CUDA_DescriptorMatcher
impl Drop for CUDA_DescriptorMatcher
source§impl From<CUDA_DescriptorMatcher> for Algorithm
impl From<CUDA_DescriptorMatcher> for Algorithm
source§fn from(s: CUDA_DescriptorMatcher) -> Self
fn from(s: CUDA_DescriptorMatcher) -> Self
impl Send for CUDA_DescriptorMatcher
Auto Trait Implementations§
impl Freeze for CUDA_DescriptorMatcher
impl RefUnwindSafe for CUDA_DescriptorMatcher
impl !Sync for CUDA_DescriptorMatcher
impl Unpin for CUDA_DescriptorMatcher
impl UnwindSafe for CUDA_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
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
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