[−][src]Struct opencv::surface_matching::PPF3DDetector
Class, allowing the load and matching 3D models. Typical Use:
ⓘThis example is not tested
// Train a model ppf_match_3d::PPF3DDetector detector(0.05, 0.05); detector.trainModel(pc); // Search the model in a given scene vector<Pose3DPtr> results; detector.match(pcTest, results, 1.0/5.0,0.05);
Implementations
impl PPF3DDetector
[src]
pub fn as_raw_PPF3DDetector(&self) -> *const c_void
[src]
pub fn as_raw_mut_PPF3DDetector(&mut self) -> *mut c_void
[src]
impl PPF3DDetector
[src]
pub fn default() -> Result<PPF3DDetector>
[src]
\brief Empty constructor. Sets default arguments
pub fn new(
relative_sampling_step: f64,
relative_distance_step: f64,
num_angles: f64
) -> Result<PPF3DDetector>
[src]
relative_sampling_step: f64,
relative_distance_step: f64,
num_angles: f64
) -> Result<PPF3DDetector>
Constructor with arguments
Parameters
- relativeSamplingStep: Sampling distance relative to the object's diameter. Models are first sampled uniformly in order to improve efficiency. Decreasing this value leads to a denser model, and a more accurate pose estimation but the larger the model, the slower the training. Increasing the value leads to a less accurate pose computation but a smaller model and faster model generation and matching. Beware of the memory consumption when using small values.
- relativeDistanceStep: The discretization distance of the point pair distance relative to the model's diameter. This value has a direct impact on the hashtable. Using small values would lead to too fine discretization, and thus ambiguity in the bins of hashtable. Too large values would lead to no discrimination over the feature vectors and different point pair features would be assigned to the same bin. This argument defaults to the value of RelativeSamplingStep. For noisy scenes, the value can be increased to improve the robustness of the matching against noisy points.
- numAngles: Set the discretization of the point pair orientation as the number of subdivisions of the angle. This value is the equivalent of RelativeDistanceStep for the orientations. Increasing the value increases the precision of the matching but decreases the robustness against incorrect normal directions. Decreasing the value decreases the precision of the matching but increases the robustness against incorrect normal directions. For very noisy scenes where the normal directions can not be computed accurately, the value can be set to 25 or 20.
C++ default parameters
- relative_distance_step: 0.05
- num_angles: 30
Trait Implementations
impl Boxed for PPF3DDetector
[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 Drop for PPF3DDetector
[src]
impl PPF3DDetectorTrait for PPF3DDetector
[src]
fn as_raw_PPF3DDetector(&self) -> *const c_void
[src]
fn as_raw_mut_PPF3DDetector(&mut self) -> *mut c_void
[src]
fn set_search_params(
&mut self,
position_threshold: f64,
rotation_threshold: f64,
use_weighted_clustering: bool
) -> Result<()>
[src]
&mut self,
position_threshold: f64,
rotation_threshold: f64,
use_weighted_clustering: bool
) -> Result<()>
fn train_model(&mut self, model: &Mat) -> Result<()>
[src]
fn match_(
&mut self,
scene: &Mat,
results: &mut Vector<Pose3DPtr>,
relative_scene_sample_step: f64,
relative_scene_distance: f64
) -> Result<()>
[src]
&mut self,
scene: &Mat,
results: &mut Vector<Pose3DPtr>,
relative_scene_sample_step: f64,
relative_scene_distance: f64
) -> Result<()>
impl Send for PPF3DDetector
[src]
Auto Trait Implementations
impl RefUnwindSafe for PPF3DDetector
impl !Sync for PPF3DDetector
impl Unpin for PPF3DDetector
impl UnwindSafe for PPF3DDetector
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>,