Skip to content

structured_light_SinusoidalPattern

structured_lightclassOpenCV 5.0.0
import { structured_light_SinusoidalPattern } from '@banou/opencv-wasm'

Use after await initOpenCV(). See the initialization and named imports guide.

Native object: release it with using or delete(). Factories can return null; check before calling methods. Inherits structured_light_StructuredLightPattern.

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.

Constructors and members

static create

structured_light_SinusoidalPattern.create: Constructor.

create(parameters: structured_light_SinusoidalPattern_Params | null): structured_light_SinusoidalPattern | null;
2 available overloads
create(): structured_light_SinusoidalPattern | null;
create(parameters: structured_light_SinusoidalPattern_Params | null): structured_light_SinusoidalPattern | null;
parameters

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

Returns

The structured_light_SinusoidalPattern | null result.

clone

Create another handle to the same native object. This retains the object without copying its pixels or algorithm state; dispose both handles separately.

clone(): this;
Returns

The this result.

computePhaseMap

Compute a wrapped phase map from sinusoidal patterns.

computePhaseMap(patternImages: MatVector, wrappedPhaseMap: Mat, shadowMask: Mat, fundamental: Mat): void;
3 available overloads
computePhaseMap(patternImages: MatVector, wrappedPhaseMap: Mat): void;
computePhaseMap(patternImages: MatVector, wrappedPhaseMap: Mat, shadowMask: Mat): void;
computePhaseMap(patternImages: MatVector, wrappedPhaseMap: Mat, shadowMask: Mat, fundamental: Mat): void;
patternImages

Input data to compute the wrapped phase map.

wrappedPhaseMap

Output destination, filled by the native operation. Wrapped phase map obtained through one of the three methods.

shadowMask

Output destination, filled by the native operation. Mask used to discard shadow regions.

fundamental

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

unwrapPhaseMap

Unwrap the wrapped phase map to remove phase ambiguities.

unwrapPhaseMap(wrappedPhaseMap: Mat, unwrappedPhaseMap: Mat, camSize: Size, shadowMask: Mat): void;
2 available overloads
unwrapPhaseMap(wrappedPhaseMap: Mat, unwrappedPhaseMap: Mat, camSize: Size): void;
unwrapPhaseMap(wrappedPhaseMap: Mat, unwrappedPhaseMap: Mat, camSize: Size, shadowMask: Mat): void;
wrappedPhaseMap

The wrapped phase map computed from the pattern.

unwrappedPhaseMap

Output destination, filled by the native operation. The unwrapped phase map used to find correspondences between the two devices.

camSize

Resolution of the camera.

shadowMask

Mask used to discard shadow regions.

findProCamMatches

Find correspondences between the two devices thanks to unwrapped phase maps.

findProCamMatches(projUnwrappedPhaseMap: Mat, camUnwrappedPhaseMap: Mat, matches: MatVector): void;
projUnwrappedPhaseMap

Projector's unwrapped phase map.

camUnwrappedPhaseMap

Camera's unwrapped phase map.

matches

Output destination, filled by the native operation. Images used to display correspondences map.

computeDataModulationTerm

compute the data modulation term.

computeDataModulationTerm(patternImages: MatVector, dataModulationTerm: Mat, shadowMask: Mat): void;
patternImages

captured images with projected patterns.

dataModulationTerm

Output destination, filled by the native operation. Mat where the data modulation term is saved.

shadowMask

Mask used to discard shadow regions.

These signatures describe this package. Upstream documentation can mention optional backends that are absent from this build. Check runtime compatibility before choosing a backend or file format.