[][src]Trait opencv::structured_light::SinusoidalPattern

pub trait SinusoidalPattern: StructuredLightPattern {
    fn as_raw_SinusoidalPattern(&self) -> *mut c_void;

    fn compute_phase_map(
        &mut self,
        pattern_images: &dyn ToInputArray,
        wrapped_phase_map: &mut dyn ToOutputArray,
        shadow_mask: &mut dyn ToOutputArray,
        fundamental: &dyn ToInputArray
    ) -> Result<()> { ... }
fn unwrap_phase_map(
        &mut self,
        wrapped_phase_map: &dyn ToInputArray,
        unwrapped_phase_map: &mut dyn ToOutputArray,
        cam_size: Size,
        shadow_mask: &dyn ToInputArray
    ) -> Result<()> { ... }
fn find_pro_cam_matches(
        &mut self,
        proj_unwrapped_phase_map: &dyn ToInputArray,
        cam_unwrapped_phase_map: &dyn ToInputArray,
        matches: &mut dyn ToOutputArray
    ) -> Result<()> { ... }
fn compute_data_modulation_term(
        &mut self,
        pattern_images: &dyn ToInputArray,
        data_modulation_term: &mut dyn ToOutputArray,
        shadow_mask: &dyn ToInputArray
    ) -> Result<()> { ... } }

Class implementing Fourier transform profilometry (FTP) , phase-shifting profilometry (PSP) and Fourier-assisted phase-shifting profilometry (FAPS) based on faps.

This class generates sinusoidal patterns that can be used with FTP, PSP and FAPS.

Required methods

Loading content...

Provided methods

fn compute_phase_map(
    &mut self,
    pattern_images: &dyn ToInputArray,
    wrapped_phase_map: &mut dyn ToOutputArray,
    shadow_mask: &mut dyn ToOutputArray,
    fundamental: &dyn 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()

fn unwrap_phase_map(
    &mut self,
    wrapped_phase_map: &dyn ToInputArray,
    unwrapped_phase_map: &mut dyn ToOutputArray,
    cam_size: Size,
    shadow_mask: &dyn 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()

fn find_pro_cam_matches(
    &mut self,
    proj_unwrapped_phase_map: &dyn ToInputArray,
    cam_unwrapped_phase_map: &dyn ToInputArray,
    matches: &mut dyn 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.

fn compute_data_modulation_term(
    &mut self,
    pattern_images: &dyn ToInputArray,
    data_modulation_term: &mut dyn ToOutputArray,
    shadow_mask: &dyn 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.
Loading content...

Methods

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

pub fn create(parameters: &PtrOfParams) -> Result<PtrOfSinusoidalPattern>[src]

Constructor.

Parameters

  • parameters: SinusoidalPattern parameters SinusoidalPattern::Params: width, height of the projector and patterns parameters.

C++ default parameters

Implementors

Loading content...