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
intProjector's width.
height
intProjector's height.
nbrOfPeriods
intNumber of period along the patterns direction.
shiftValue
floatPhase shift between two consecutive patterns.
methodId
SinusoidalPattern.MethodAllow to choose between FTP, PSP and FAPS.
nbrOfPixelsBetweenMarkers
intNumber of pixels between two consecutive markers on the same row.
horizontal
boolHorizontal
setMarkers
boolAllow to set markers on the patterns.
markersLocation
VectorOfPointFVector used to store markers location on the patterns.
Properties
AlgorithmPtr
public nint AlgorithmPtr { get; }
Property Value
StructuredLightPatternPtr
public nint StructuredLightPatternPtr { get; }
Property Value
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
IInputArrayOfArraysInput data to compute the wrapped phase map.
wrappedPhaseMap
IOutputArrayWrapped phase map obtained through one of the three methods.
shadowMask
IOutputArrayMask used to discard shadow regions.
fundamental
IInputArrayFundamental 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
IInputArrayThe wrapped phase map computed from the pattern.
unwrappedPhaseMap
IOutputArrayThe unwrapped phase map used to find correspondences between the two devices.
camSize
SizeResolution of the camera.
shadowMask
IInputArrayMask used to discard shadow regions.