Table of Contents

Class SinusoidalPattern

Namespace
Emgu.CV.StructuredLight
Assembly
Emgu.CV.dll

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

public class SinusoidalPattern : SharedPtrObject, IDisposable, IStructuredLightPattern, IAlgorithm
Inheritance
SinusoidalPattern
Implements
Inherited Members
Extension Methods

Constructors

SinusoidalPattern(int, int, int, float, Method, int, bool, bool, VectorOfPointF)

Create a new sinusoidal patterns

public SinusoidalPattern(int width = 800, int height = 600, int nbrOfPeriods = 20, float shiftValue = 2.0943952, SinusoidalPattern.Method methodId = Method.FAPS, int nbrOfPixelsBetweenMarkers = 56, bool horizontal = false, bool setMarkers = false, VectorOfPointF markersLocation = null)

Parameters

width int

Projector's width.

height int

Projector's height.

nbrOfPeriods int

Number of period along the patterns direction.

shiftValue float

Phase shift between two consecutive patterns.

methodId SinusoidalPattern.Method

Allow to choose between FTP, PSP and FAPS.

nbrOfPixelsBetweenMarkers int

Number of pixels between two consecutive markers on the same row.

horizontal bool

Horizontal

setMarkers bool

Allow to set markers on the patterns.

markersLocation VectorOfPointF

Vector used to store markers location on the patterns.

Properties

AlgorithmPtr

public nint AlgorithmPtr { get; }

Property Value

nint

StructuredLightPatternPtr

public nint StructuredLightPatternPtr { get; }

Property Value

nint

Methods

ComputePhaseMap(IInputArrayOfArrays, IOutputArray, IOutputArray, IInputArray)

Compute a wrapped phase map from sinusoidal patterns.

public void ComputePhaseMap(IInputArrayOfArrays patternImages, IOutputArray wrappedPhaseMap, IOutputArray shadowMask = null, IInputArray fundamental = null)

Parameters

patternImages IInputArrayOfArrays

Input data to compute the wrapped phase map.

wrappedPhaseMap IOutputArray

Wrapped phase map obtained through one of the three methods.

shadowMask IOutputArray

Mask used to discard shadow regions.

fundamental IInputArray

Fundamental matrix used to compute epipolar lines and ease the matching step.

DisposeObject()

protected override void DisposeObject()

UnwrapPhaseMap(IInputArray, IOutputArray, Size, IInputArray)

Unwrap the wrapped phase map to remove phase ambiguities.

public void UnwrapPhaseMap(IInputArray wrappedPhaseMap, IOutputArray unwrappedPhaseMap, Size camSize, IInputArray shadowMask = null)

Parameters

wrappedPhaseMap IInputArray

The wrapped phase map computed from the pattern.

unwrappedPhaseMap IOutputArray

The unwrapped phase map used to find correspondences between the two devices.

camSize Size

Resolution of the camera.

shadowMask IInputArray

Mask used to discard shadow regions.