pub struct VGG { /* private fields */ }Expand description
Class implementing VGG (Oxford Visual Geometry Group) descriptor trained end to end using “Descriptor Learning Using Convex Optimisation” (DLCO) aparatus described in Simonyan14.
§Parameters
-
desc: type of descriptor to use, VGG::VGG_120 is default (120 dimensions float) Available types are VGG::VGG_120, VGG::VGG_80, VGG::VGG_64, VGG::VGG_48
-
isigma: gaussian kernel value for image blur (default is 1.4f)
-
img_normalize: use image sample intensity normalization (enabled by default)
-
use_orientation: sample patterns using keypoints orientation, enabled by default
-
scale_factor: adjust the sampling window of detected keypoints to 64.0f (VGG sampling window) 6.25f is default and fits for KAZE, SURF detected keypoints window ratio 6.75f should be the scale for SIFT detected keypoints window ratio 5.00f should be the scale for AKAZE, MSD, AGAST, FAST, BRISK keypoints window ratio 0.75f should be the scale for ORB keypoints ratio
-
dsc_normalize: clamp descriptors to 255 and convert to uchar CV_8UC1 (disabled by default)
Implementations§
Source§impl VGG
impl VGG
Sourcepub fn create(
desc: i32,
isigma: f32,
img_normalize: bool,
use_scale_orientation: bool,
scale_factor: f32,
dsc_normalize: bool,
) -> Result<Ptr<VGG>>
pub fn create( desc: i32, isigma: f32, img_normalize: bool, use_scale_orientation: bool, scale_factor: f32, dsc_normalize: bool, ) -> Result<Ptr<VGG>>
§C++ default parameters
- desc: VGG::VGG_120
- isigma: 1.4f
- img_normalize: true
- use_scale_orientation: true
- scale_factor: 6.25f
- dsc_normalize: false
Sourcepub fn create_def() -> Result<Ptr<VGG>>
pub fn create_def() -> Result<Ptr<VGG>>
§Note
This alternative version of VGG::create function uses the following default values for its arguments:
- desc: VGG::VGG_120
- isigma: 1.4f
- img_normalize: true
- use_scale_orientation: true
- scale_factor: 6.25f
- dsc_normalize: false
Trait Implementations§
Source§impl AlgorithmTrait for VGG
impl AlgorithmTrait for VGG
Source§impl AlgorithmTraitConst for VGG
impl AlgorithmTraitConst for VGG
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 VGG
impl Boxed for VGG
Source§unsafe fn from_raw(ptr: <VGG as OpenCVFromExtern>::ExternReceive) -> Self
unsafe fn from_raw(ptr: <VGG as OpenCVFromExtern>::ExternReceive) -> Self
Source§fn into_raw(self) -> <VGG as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw(self) -> <VGG as OpenCVTypeExternContainer>::ExternSendMut
Source§fn as_raw(&self) -> <VGG as OpenCVTypeExternContainer>::ExternSend
fn as_raw(&self) -> <VGG as OpenCVTypeExternContainer>::ExternSend
Source§fn as_raw_mut(&mut self) -> <VGG as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut(&mut self) -> <VGG as OpenCVTypeExternContainer>::ExternSendMut
Source§impl Feature2DTrait for VGG
impl Feature2DTrait for VGG
fn as_raw_mut_Feature2D(&mut self) -> *mut c_void
Source§fn detect(
&mut self,
image: &impl ToInputArray,
keypoints: &mut Vector<KeyPoint>,
mask: &impl ToInputArray,
) -> Result<()>
fn detect( &mut self, image: &impl ToInputArray, keypoints: &mut Vector<KeyPoint>, mask: &impl ToInputArray, ) -> Result<()>
Source§fn detect_def(
&mut self,
image: &impl ToInputArray,
keypoints: &mut Vector<KeyPoint>,
) -> Result<()>
fn detect_def( &mut self, image: &impl ToInputArray, keypoints: &mut Vector<KeyPoint>, ) -> Result<()>
Source§fn detect_multiple(
&mut self,
images: &impl ToInputArray,
keypoints: &mut Vector<Vector<KeyPoint>>,
masks: &impl ToInputArray,
) -> Result<()>
fn detect_multiple( &mut self, images: &impl ToInputArray, keypoints: &mut Vector<Vector<KeyPoint>>, masks: &impl ToInputArray, ) -> Result<()>
Source§fn detect_multiple_def(
&mut self,
images: &impl ToInputArray,
keypoints: &mut Vector<Vector<KeyPoint>>,
) -> Result<()>
fn detect_multiple_def( &mut self, images: &impl ToInputArray, keypoints: &mut Vector<Vector<KeyPoint>>, ) -> Result<()>
Source§fn compute(
&mut self,
image: &impl ToInputArray,
keypoints: &mut Vector<KeyPoint>,
descriptors: &mut impl ToOutputArray,
) -> Result<()>
fn compute( &mut self, image: &impl ToInputArray, keypoints: &mut Vector<KeyPoint>, descriptors: &mut impl ToOutputArray, ) -> Result<()>
Source§fn compute_multiple(
&mut self,
images: &impl ToInputArray,
keypoints: &mut Vector<Vector<KeyPoint>>,
descriptors: &mut impl ToOutputArray,
) -> Result<()>
fn compute_multiple( &mut self, images: &impl ToInputArray, keypoints: &mut Vector<Vector<KeyPoint>>, descriptors: &mut impl ToOutputArray, ) -> Result<()>
Source§fn detect_and_compute(
&mut self,
image: &impl ToInputArray,
mask: &impl ToInputArray,
keypoints: &mut Vector<KeyPoint>,
descriptors: &mut impl ToOutputArray,
use_provided_keypoints: bool,
) -> Result<()>
fn detect_and_compute( &mut self, image: &impl ToInputArray, mask: &impl ToInputArray, keypoints: &mut Vector<KeyPoint>, descriptors: &mut impl ToOutputArray, use_provided_keypoints: bool, ) -> Result<()>
Source§fn detect_and_compute_def(
&mut self,
image: &impl ToInputArray,
mask: &impl ToInputArray,
keypoints: &mut Vector<KeyPoint>,
descriptors: &mut impl ToOutputArray,
) -> Result<()>
fn detect_and_compute_def( &mut self, image: &impl ToInputArray, mask: &impl ToInputArray, keypoints: &mut Vector<KeyPoint>, descriptors: &mut impl ToOutputArray, ) -> Result<()>
fn read(&mut self, file_name: &str) -> Result<()>
fn read_from_node(&mut self, unnamed: &impl FileNodeTraitConst) -> Result<()>
Source§impl Feature2DTraitConst for VGG
impl Feature2DTraitConst for VGG
fn as_raw_Feature2D(&self) -> *const c_void
fn descriptor_size(&self) -> Result<i32>
fn descriptor_type(&self) -> Result<i32>
fn default_norm(&self) -> Result<i32>
fn write(&self, file_name: &str) -> Result<()>
fn write_to_storage(&self, unnamed: &mut impl FileStorageTrait) -> Result<()>
fn get_default_name(&self) -> Result<String>
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 VGGTrait for VGG
impl VGGTrait for VGG
fn as_raw_mut_VGG(&mut self) -> *mut c_void
fn set_sigma(&mut self, isigma: f32) -> Result<()>
fn set_use_normalize_image(&mut self, img_normalize: bool) -> Result<()>
fn set_use_scale_orientation( &mut self, use_scale_orientation: bool, ) -> Result<()>
fn set_scale_factor(&mut self, scale_factor: f32) -> Result<()>
fn set_use_normalize_descriptor(&mut self, dsc_normalize: bool) -> Result<()>
Source§impl VGGTraitConst for VGG
impl VGGTraitConst for VGG
fn as_raw_VGG(&self) -> *const c_void
fn get_default_name(&self) -> Result<String>
fn get_sigma(&self) -> Result<f32>
fn get_use_normalize_image(&self) -> Result<bool>
fn get_use_scale_orientation(&self) -> Result<bool>
fn get_scale_factor(&self) -> Result<f32>
fn get_use_normalize_descriptor(&self) -> Result<bool>
impl Send for VGG
Auto Trait Implementations§
impl Freeze for VGG
impl RefUnwindSafe for VGG
impl !Sync for VGG
impl Unpin for VGG
impl UnwindSafe for VGG
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 unsafe in a general case as it leads to having non-exclusive mutable access to the internal data,
but it can be useful for some performance sensitive operations. One example of an OpenCV function that allows such in-place
modification is imgproc::threshold. Read more