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
Return |
Name |
Description |
|---|---|---|
|
Decodes the structured light pattern, generating a disparity map. |
|
|
Generates the structured light pattern to project. |
Public Member Functions inherited from cv::Algorithm
Return |
Name |
Description |
|---|---|---|
|
Clears the algorithm state. |
|
|
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. |
|
|
Reads algorithm parameters from a file storage. |
|
|
||
|
|
|
|
Stores algorithm parameters in a file storage. |
|
|
Static Public Member Functions#
Static Public Member Functions inherited from cv::Algorithm
Return |
Name |
Description |
|---|---|---|
|
|
Loads algorithm from the file. |
|
|
Loads algorithm from a String. |
|
Reads algorithm from the file node. |
Additional Inherited Members#
Protected Member Functions inherited from cv::Algorithm
Return |
Name |
Description |
|---|---|---|
|
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
parameters— SinusoidalPattern parameters SinusoidalPattern::Params: width, height of the projector and patterns 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.dataModulationTerm— Mat 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:
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:
Source file#
The documentation for this class was generated from the following file:
opencv2/structured_light/sinusoidalpattern.hpp