| OpenCV 4.3.0 Open Source Computer Vision

Classes | Public Member Functions | Static Public Member Functions | List of all members
cv::structured_light::SinusoidalPattern Class Referenceabstract
Structured Light API

Class implementing Fourier transform profilometry (FTP) , phase-shifting profilometry (PSP) and Fourier-assisted phase-shifting profilometry (FAPS) based on [44]. More...

`#include <opencv2/structured_light/sinusoidalpattern.hpp>`

Inheritance diagram for cv::structured_light::SinusoidalPattern:

## Classes
struct | Params
| Parameters of SinusoidalPattern constructor. More...

## Public Member Functions
virtual void | computeDataModulationTerm (InputArrayOfArrays patternImages, OutputArray dataModulationTerm, InputArray shadowMask)=0
| compute the data modulation term. More...
virtual void | computePhaseMap (InputArrayOfArrays patternImages, OutputArray wrappedPhaseMap, OutputArray shadowMask=noArray(), InputArray fundamental=noArray())=0
| Compute a wrapped phase map from sinusoidal patterns. More...
virtual void | findProCamMatches (InputArray projUnwrappedPhaseMap, InputArray camUnwrappedPhaseMap, OutputArrayOfArrays matches)=0
| Find correspondences between the two devices thanks to unwrapped phase maps. More...
virtual void | unwrapPhaseMap (InputArray wrappedPhaseMap, OutputArray unwrappedPhaseMap, cv::Size camSize, InputArray shadowMask=noArray())=0
| Unwrap the wrapped phase map to remove phase ambiguities. More...
Public Member Functions inherited from cv::structured_light::StructuredLightPattern
virtual bool | decode (const std::vector< std::vector< Mat > > &patternImages, OutputArray disparityMap, InputArrayOfArrays blackImages=noArray(), InputArrayOfArrays whiteImages=noArray(), int flags=DECODE_3D_UNDERWORLD) const =0
| Decodes the structured light pattern, generating a disparity map. More...
virtual bool | generate (OutputArrayOfArrays patternImages)=0
| Generates the structured light pattern to project. More...
Public Member Functions inherited from cv::Algorithm
| Algorithm ()
virtual | ~Algorithm ()
virtual void | clear ()
| Clears the algorithm state. More...
virtual bool | empty () const
| Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. More...
virtual String | getDefaultName () const
virtual void | read (const FileNode &fn)
| Reads algorithm parameters from a file storage. More...
virtual void | save (const String &filename) const
virtual void | write (FileStorage &fs) const
| Stores algorithm parameters in a file storage. More...
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const
| simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...

## Static Public Member Functions
static Ptr< SinusoidalPattern > | create (Ptr< SinusoidalPattern::Params > parameters=makePtr< SinusoidalPattern::Params >())
| Constructor. More...
Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file. More...
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String. More...
template<typename _Tp >
static Ptr< _Tp > | read (const FileNode &fn)
| Reads algorithm from the file node. More...

## Additional Inherited Members
Protected Member Functions inherited from cv::Algorithm
void | writeFormat (FileStorage &fs) const

## Detailed Description

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

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

## Member Function Documentation

## ◆ computeDataModulationTerm()

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

Python:
| dataModulationTerm | = | cv.structured_light_SinusoidalPattern.computeDataModulationTerm( | patternImages, shadowMask[, dataModulationTerm] | )

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()

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

Python:
| wrappedPhaseMap, shadowMask | = | cv.structured_light_SinusoidalPattern.computePhaseMap( | patternImages[, wrappedPhaseMap[, shadowMask[, fundamental]]] | )

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.

## ◆ create()

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

Python:
| retval | = | cv.structured_light.SinusoidalPattern_create( | [, parameters] | )

Constructor.

Parameters

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

## ◆ findProCamMatches()

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

Python:
| matches | = | cv.structured_light_SinusoidalPattern.findProCamMatches( | projUnwrappedPhaseMap, camUnwrappedPhaseMap[, 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()

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

Python:
| unwrappedPhaseMap | = | cv.structured_light_SinusoidalPattern.unwrapPhaseMap( | wrappedPhaseMap, camSize[, unwrappedPhaseMap[, shadowMask]] | )

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.

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

- opencv2/structured_light/sinusoidalpattern.hpp