Class cv::structured_light::SinusoidalPattern#

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

Collaboration diagram for cv::structured_light::SinusoidalPattern:

Public Member Functions#

Public Member Functions inherited from cv::structured_light::StructuredLightPattern
Public Member Functions inherited from cv::Algorithm

Return

Name

Description

Algorithm()

~Algorithm()

void

clear()

Clears the algorithm state.

bool

empty()

Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.

String

getDefaultName()

void

read(const FileNode & fn)

Reads algorithm parameters from a file storage.

void

save(const String & filename)

void

write(
    const Ptr< FileStorage > & fs,
    const String & name = String() )

void

write(FileStorage & fs)

Stores algorithm parameters in a file storage.

void

write(
    FileStorage & fs,
    const String & name )

Static Public Member Functions#

Static Public Member Functions inherited from cv::Algorithm

Return

Name

Description

static Ptr< _Tp >

load(
    const String & filename,
    const String & objname = String() )

Loads algorithm from the file.

static Ptr< _Tp >

loadFromString(
    const String & strModel,
    const String & objname = String() )

Loads algorithm from a String.

static Ptr< _Tp >

read(const FileNode & fn)

Reads algorithm from the file node.

Additional Inherited Members#

Protected Member Functions inherited from cv::Algorithm

Return

Name

Description

void

writeFormat(FileStorage & fs)

Detailed Description#

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.

Member Function Documentation#

create()#

static Ptr< SinusoidalPattern > cv::structured_light::SinusoidalPattern::create(Ptr< SinusoidalPattern::Params > parameters = makePtr< SinusoidalPattern::Params >())

Constructor.

Parameters

computeDataModulationTerm()#

void cv::structured_light::SinusoidalPattern::computeDataModulationTerm(
InputArrayOfArrays patternImages,
OutputArray dataModulationTerm,
InputArray shadowMask )

compute the data modulation term.

Parameters

  • patternImages — captured images with projected patterns.

  • dataModulationTermMat where the data modulation term is saved.

  • shadowMask — Mask used to discard shadow regions.

computePhaseMap()#

void cv::structured_light::SinusoidalPattern::computePhaseMap(
InputArrayOfArrays patternImages,
OutputArray wrappedPhaseMap,
OutputArray shadowMask = noArray(),
InputArray fundamental = noArray() )

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.

Here is the call graph for this function:

cv::structured_light::SinusoidalPattern::computePhaseMap Node1 cv::structured_light ::SinusoidalPattern:: computePhaseMap Node2 cv::noArray Node1->Node2

cv::structured_light::SinusoidalPattern::computePhaseMap Node1 cv::structured_light ::SinusoidalPattern:: computePhaseMap Node2 cv::noArray Node1->Node2

findProCamMatches()#

void cv::structured_light::SinusoidalPattern::findProCamMatches(
InputArray projUnwrappedPhaseMap,
InputArray camUnwrappedPhaseMap,
OutputArrayOfArrays matches )

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.

unwrapPhaseMap()#

void cv::structured_light::SinusoidalPattern::unwrapPhaseMap(
InputArray wrappedPhaseMap,
OutputArray unwrappedPhaseMap,
cv::Size camSize,
InputArray shadowMask = noArray() )

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.

Here is the call graph for this function:

cv::structured_light::SinusoidalPattern::unwrapPhaseMap Node1 cv::structured_light ::SinusoidalPattern:: unwrapPhaseMap Node2 cv::noArray Node1->Node2

cv::structured_light::SinusoidalPattern::unwrapPhaseMap Node1 cv::structured_light ::SinusoidalPattern:: unwrapPhaseMap Node2 cv::noArray Node1->Node2

Source file#

The documentation for this class was generated from the following file: