pub struct BoostDesc { /* private fields */ }
Expand description
Class implementing BoostDesc (Learning Image Descriptors with Boosting), described in Trzcinski13a and Trzcinski13b.
§Parameters
- desc: type of descriptor to use, BoostDesc::BINBOOST_256 is default (256 bit long dimension) Available types are: BoostDesc::BGM, BoostDesc::BGM_HARD, BoostDesc::BGM_BILINEAR, BoostDesc::LBGM, BoostDesc::BINBOOST_64, BoostDesc::BINBOOST_128, BoostDesc::BINBOOST_256
- use_orientation: sample patterns using keypoints orientation, enabled by default
- scale_factor: adjust the sampling window of detected keypoints 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 1.50f was the default in original implementation
Note: BGM is the base descriptor where each binary dimension is computed as the output of a single weak learner. BGM_HARD and BGM_BILINEAR refers to same BGM but use different type of gradient binning. In the BGM_HARD that use ASSIGN_HARD binning type the gradient is assigned to the nearest orientation bin. In the BGM_BILINEAR that use ASSIGN_BILINEAR binning type the gradient is assigned to the two neighbouring bins. In the BGM and all other modes that use ASSIGN_SOFT binning type the gradient is assigned to 8 nearest bins according to the cosine value between the gradient angle and the bin center. LBGM (alias FP-Boost) is the floating point extension where each dimension is computed as a linear combination of the weak learner responses. BINBOOST and subvariants are the binary extensions of LBGM where each bit is computed as a thresholded linear combination of a set of weak learners. BoostDesc header files (boostdesc_*.i) was exported from original binaries with export-boostdesc.py script from samples subfolder.
Implementations§
source§impl BoostDesc
impl BoostDesc
sourcepub fn create(
desc: i32,
use_scale_orientation: bool,
scale_factor: f32,
) -> Result<Ptr<BoostDesc>>
pub fn create( desc: i32, use_scale_orientation: bool, scale_factor: f32, ) -> Result<Ptr<BoostDesc>>
§C++ default parameters
- desc: BoostDesc::BINBOOST_256
- use_scale_orientation: true
- scale_factor: 6.25f
sourcepub fn create_def() -> Result<Ptr<BoostDesc>>
pub fn create_def() -> Result<Ptr<BoostDesc>>
§Note
This alternative version of BoostDesc::create function uses the following default values for its arguments:
- desc: BoostDesc::BINBOOST_256
- use_scale_orientation: true
- scale_factor: 6.25f
Trait Implementations§
source§impl AlgorithmTrait for BoostDesc
impl AlgorithmTrait for BoostDesc
source§impl AlgorithmTraitConst for BoostDesc
impl AlgorithmTraitConst for BoostDesc
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 BoostDescTrait for BoostDesc
impl BoostDescTrait for BoostDesc
source§impl BoostDescTraitConst for BoostDesc
impl BoostDescTraitConst for BoostDesc
fn as_raw_BoostDesc(&self) -> *const c_void
fn get_default_name(&self) -> Result<String>
fn get_use_scale_orientation(&self) -> Result<bool>
fn get_scale_factor(&self) -> Result<f32>
source§impl Boxed for BoostDesc
impl Boxed for BoostDesc
source§unsafe fn from_raw(ptr: <BoostDesc as OpenCVFromExtern>::ExternReceive) -> Self
unsafe fn from_raw(ptr: <BoostDesc as OpenCVFromExtern>::ExternReceive) -> Self
source§fn into_raw(self) -> <BoostDesc as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw(self) -> <BoostDesc as OpenCVTypeExternContainer>::ExternSendMut
source§fn as_raw(&self) -> <BoostDesc as OpenCVTypeExternContainer>::ExternSend
fn as_raw(&self) -> <BoostDesc as OpenCVTypeExternContainer>::ExternSend
source§fn as_raw_mut(
&mut self,
) -> <BoostDesc as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut( &mut self, ) -> <BoostDesc as OpenCVTypeExternContainer>::ExternSendMut
source§impl Feature2DTrait for BoostDesc
impl Feature2DTrait for BoostDesc
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 BoostDesc
impl Feature2DTraitConst for BoostDesc
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<()>
impl Send for BoostDesc
Auto Trait Implementations§
impl Freeze for BoostDesc
impl RefUnwindSafe for BoostDesc
impl !Sync for BoostDesc
impl Unpin for BoostDesc
impl UnwindSafe for BoostDesc
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