[][src]Trait opencv::hub_prelude::ORB

pub trait ORB: Feature2DTrait {
    pub fn as_raw_ORB(&self) -> *const c_void;
pub fn as_raw_mut_ORB(&mut self) -> *mut c_void; pub fn set_max_features(&mut self, max_features: i32) -> Result<()> { ... }
pub fn get_max_features(&self) -> Result<i32> { ... }
pub fn set_scale_factor(&mut self, scale_factor: f64) -> Result<()> { ... }
pub fn get_scale_factor(&self) -> Result<f64> { ... }
pub fn set_n_levels(&mut self, nlevels: i32) -> Result<()> { ... }
pub fn get_n_levels(&self) -> Result<i32> { ... }
pub fn set_edge_threshold(&mut self, edge_threshold: i32) -> Result<()> { ... }
pub fn get_edge_threshold(&self) -> Result<i32> { ... }
pub fn set_first_level(&mut self, first_level: i32) -> Result<()> { ... }
pub fn get_first_level(&self) -> Result<i32> { ... }
pub fn set_wta_k(&mut self, wta_k: i32) -> Result<()> { ... }
pub fn get_wta_k(&self) -> Result<i32> { ... }
pub fn set_score_type(&mut self, score_type: ORB_ScoreType) -> Result<()> { ... }
pub fn get_score_type(&self) -> Result<ORB_ScoreType> { ... }
pub fn set_patch_size(&mut self, patch_size: i32) -> Result<()> { ... }
pub fn get_patch_size(&self) -> Result<i32> { ... }
pub fn set_fast_threshold(&mut self, fast_threshold: i32) -> Result<()> { ... }
pub fn get_fast_threshold(&self) -> Result<i32> { ... }
pub fn get_default_name(&self) -> Result<String> { ... } }

Class implementing the ORB (oriented BRIEF) keypoint detector and descriptor extractor

described in RRKB11 . The algorithm uses FAST in pyramids to detect stable keypoints, selects the strongest features using FAST or Harris response, finds their orientation using first-order moments and computes the descriptors using BRIEF (where the coordinates of random point pairs (or k-tuples) are rotated according to the measured orientation).

Required methods

pub fn as_raw_ORB(&self) -> *const c_void[src]

pub fn as_raw_mut_ORB(&mut self) -> *mut c_void[src]

Loading content...

Provided methods

pub fn set_max_features(&mut self, max_features: i32) -> Result<()>[src]

pub fn get_max_features(&self) -> Result<i32>[src]

pub fn set_scale_factor(&mut self, scale_factor: f64) -> Result<()>[src]

pub fn get_scale_factor(&self) -> Result<f64>[src]

pub fn set_n_levels(&mut self, nlevels: i32) -> Result<()>[src]

pub fn get_n_levels(&self) -> Result<i32>[src]

pub fn set_edge_threshold(&mut self, edge_threshold: i32) -> Result<()>[src]

pub fn get_edge_threshold(&self) -> Result<i32>[src]

pub fn set_first_level(&mut self, first_level: i32) -> Result<()>[src]

pub fn get_first_level(&self) -> Result<i32>[src]

pub fn set_wta_k(&mut self, wta_k: i32) -> Result<()>[src]

pub fn get_wta_k(&self) -> Result<i32>[src]

pub fn set_score_type(&mut self, score_type: ORB_ScoreType) -> Result<()>[src]

pub fn get_score_type(&self) -> Result<ORB_ScoreType>[src]

pub fn set_patch_size(&mut self, patch_size: i32) -> Result<()>[src]

pub fn get_patch_size(&self) -> Result<i32>[src]

pub fn set_fast_threshold(&mut self, fast_threshold: i32) -> Result<()>[src]

pub fn get_fast_threshold(&self) -> Result<i32>[src]

pub fn get_default_name(&self) -> Result<String>[src]

Loading content...

Implementations

impl<'_> dyn ORB + '_[src]

pub const kBytes: i32[src]

pub fn create(
    nfeatures: i32,
    scale_factor: f32,
    nlevels: i32,
    edge_threshold: i32,
    first_level: i32,
    wta_k: i32,
    score_type: ORB_ScoreType,
    patch_size: i32,
    fast_threshold: i32
) -> Result<Ptr<dyn ORB>>
[src]

The ORB constructor

Parameters

  • nfeatures: The maximum number of features to retain.
  • scaleFactor: Pyramid decimation ratio, greater than 1. scaleFactor==2 means the classical pyramid, where each next level has 4x less pixels than the previous, but such a big scale factor will degrade feature matching scores dramatically. On the other hand, too close to 1 scale factor will mean that to cover certain scale range you will need more pyramid levels and so the speed will suffer.
  • nlevels: The number of pyramid levels. The smallest level will have linear size equal to input_image_linear_size/pow(scaleFactor, nlevels - firstLevel).
  • edgeThreshold: This is size of the border where the features are not detected. It should roughly match the patchSize parameter.
  • firstLevel: The level of pyramid to put source image to. Previous layers are filled with upscaled source image.
  • WTA_K: The number of points that produce each element of the oriented BRIEF descriptor. The default value 2 means the BRIEF where we take a random point pair and compare their brightnesses, so we get 0/1 response. Other possible values are 3 and 4. For example, 3 means that we take 3 random points (of course, those point coordinates are random, but they are generated from the pre-defined seed, so each element of BRIEF descriptor is computed deterministically from the pixel rectangle), find point of maximum brightness and output index of the winner (0, 1 or 2). Such output will occupy 2 bits, and therefore it will need a special variant of Hamming distance, denoted as NORM_HAMMING2 (2 bits per bin). When WTA_K=4, we take 4 random points to compute each bin (that will also occupy 2 bits with possible values 0, 1, 2 or 3).
  • scoreType: The default HARRIS_SCORE means that Harris algorithm is used to rank features (the score is written to KeyPoint::score and is used to retain best nfeatures features); FAST_SCORE is alternative value of the parameter that produces slightly less stable keypoints, but it is a little faster to compute.
  • patchSize: size of the patch used by the oriented BRIEF descriptor. Of course, on smaller pyramid layers the perceived image area covered by a feature will be larger.
  • fastThreshold: the fast threshold

C++ default parameters

  • nfeatures: 500
  • scale_factor: 1.2f
  • nlevels: 8
  • edge_threshold: 31
  • first_level: 0
  • wta_k: 2
  • score_type: ORB::HARRIS_SCORE
  • patch_size: 31
  • fast_threshold: 20

impl<'_> dyn ORB + '_[src]

Implementors

impl ORB for PtrOfORB[src]

Loading content...