Trait SinusoidalPatternTrait

Source
pub trait SinusoidalPatternTrait: SinusoidalPatternTraitConst + StructuredLightPatternTrait {
    // Required method
    fn as_raw_mut_SinusoidalPattern(&mut self) -> *mut c_void;

    // Provided methods
    fn compute_phase_map(
        &mut self,
        pattern_images: &impl ToInputArray,
        wrapped_phase_map: &mut impl ToOutputArray,
        shadow_mask: &mut impl ToOutputArray,
        fundamental: &impl ToInputArray,
    ) -> Result<()> { ... }
    fn compute_phase_map_def(
        &mut self,
        pattern_images: &impl ToInputArray,
        wrapped_phase_map: &mut impl ToOutputArray,
    ) -> Result<()> { ... }
    fn unwrap_phase_map(
        &mut self,
        wrapped_phase_map: &impl ToInputArray,
        unwrapped_phase_map: &mut impl ToOutputArray,
        cam_size: Size,
        shadow_mask: &impl ToInputArray,
    ) -> Result<()> { ... }
    fn unwrap_phase_map_def(
        &mut self,
        wrapped_phase_map: &impl ToInputArray,
        unwrapped_phase_map: &mut impl ToOutputArray,
        cam_size: Size,
    ) -> Result<()> { ... }
    fn find_pro_cam_matches(
        &mut self,
        proj_unwrapped_phase_map: &impl ToInputArray,
        cam_unwrapped_phase_map: &impl ToInputArray,
        matches: &mut impl ToOutputArray,
    ) -> Result<()> { ... }
    fn compute_data_modulation_term(
        &mut self,
        pattern_images: &impl ToInputArray,
        data_modulation_term: &mut impl ToOutputArray,
        shadow_mask: &impl ToInputArray,
    ) -> Result<()> { ... }
}
Expand description

Required Methods§

Provided Methods§

Source

fn compute_phase_map( &mut self, pattern_images: &impl ToInputArray, wrapped_phase_map: &mut impl ToOutputArray, shadow_mask: &mut impl ToOutputArray, fundamental: &impl ToInputArray, ) -> Result<()>

Compute a wrapped phase map from sinusoidal patterns.

§Parameters
  • patternImages: Input data to compute the wrapped phase map.
  • wrappedPhaseMap: Wrapped phase map obtained through one of the three methods.
  • shadowMask: Mask used to discard shadow regions.
  • fundamental: Fundamental matrix used to compute epipolar lines and ease the matching step.
§C++ default parameters
  • shadow_mask: noArray()
  • fundamental: noArray()
Source

fn compute_phase_map_def( &mut self, pattern_images: &impl ToInputArray, wrapped_phase_map: &mut impl ToOutputArray, ) -> Result<()>

Compute a wrapped phase map from sinusoidal patterns.

§Parameters
  • patternImages: Input data to compute the wrapped phase map.
  • wrappedPhaseMap: Wrapped phase map obtained through one of the three methods.
  • shadowMask: Mask used to discard shadow regions.
  • fundamental: Fundamental matrix used to compute epipolar lines and ease the matching step.
§Note

This alternative version of SinusoidalPatternTrait::compute_phase_map function uses the following default values for its arguments:

  • shadow_mask: noArray()
  • fundamental: noArray()
Source

fn unwrap_phase_map( &mut self, wrapped_phase_map: &impl ToInputArray, unwrapped_phase_map: &mut impl ToOutputArray, cam_size: Size, shadow_mask: &impl ToInputArray, ) -> Result<()>

Unwrap the wrapped phase map to remove phase ambiguities.

§Parameters
  • wrappedPhaseMap: The wrapped phase map computed from the pattern.
  • unwrappedPhaseMap: The unwrapped phase map used to find correspondences between the two devices.
  • camSize: Resolution of the camera.
  • shadowMask: Mask used to discard shadow regions.
§C++ default parameters
  • shadow_mask: noArray()
Source

fn unwrap_phase_map_def( &mut self, wrapped_phase_map: &impl ToInputArray, unwrapped_phase_map: &mut impl ToOutputArray, cam_size: Size, ) -> Result<()>

Unwrap the wrapped phase map to remove phase ambiguities.

§Parameters
  • wrappedPhaseMap: The wrapped phase map computed from the pattern.
  • unwrappedPhaseMap: The unwrapped phase map used to find correspondences between the two devices.
  • camSize: Resolution of the camera.
  • shadowMask: Mask used to discard shadow regions.
§Note

This alternative version of SinusoidalPatternTrait::unwrap_phase_map function uses the following default values for its arguments:

  • shadow_mask: noArray()
Source

fn find_pro_cam_matches( &mut self, proj_unwrapped_phase_map: &impl ToInputArray, cam_unwrapped_phase_map: &impl ToInputArray, matches: &mut impl ToOutputArray, ) -> Result<()>

Find correspondences between the two devices thanks to unwrapped phase maps.

§Parameters
  • projUnwrappedPhaseMap: Projector’s unwrapped phase map.
  • camUnwrappedPhaseMap: Camera’s unwrapped phase map.
  • matches: Images used to display correspondences map.
Source

fn compute_data_modulation_term( &mut self, pattern_images: &impl ToInputArray, data_modulation_term: &mut impl ToOutputArray, shadow_mask: &impl ToInputArray, ) -> Result<()>

compute the data modulation term.

§Parameters
  • patternImages: captured images with projected patterns.
  • dataModulationTerm: Mat where the data modulation term is saved.
  • shadowMask: Mask used to discard shadow regions.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§