View Source Evision.StructuredLight.SinusoidalPattern (Evision v0.1.34)
Summary
Functions
compute the data modulation term.
compute the data modulation term.
Compute a wrapped phase map from sinusoidal patterns.
Compute a wrapped phase map from sinusoidal patterns.
Constructor.
Constructor.
Find correspondences between the two devices thanks to unwrapped phase maps.
Find correspondences between the two devices thanks to unwrapped phase maps.
Unwrap the wrapped phase map to remove phase ambiguities.
Unwrap the wrapped phase map to remove phase ambiguities.
Types
@type t() :: %Evision.StructuredLight.SinusoidalPattern{ref: reference()}
Type that represents an StructuredLight.SinusoidalPattern
struct.
ref.
reference()
The underlying erlang resource variable.
Functions
@spec computeDataModulationTerm( t(), [Evision.Mat.maybe_mat_in()], Evision.Mat.maybe_mat_in() ) :: Evision.Mat.t() | {:error, String.t()}
compute the data modulation term.
Positional Arguments
self:
Evision.StructuredLight.SinusoidalPattern.t()
patternImages:
[Evision.Mat]
.captured images with projected patterns.
shadowMask:
Evision.Mat.t()
.Mask used to discard shadow regions.
Return
dataModulationTerm:
Evision.Mat.t()
.Mat where the data modulation term is saved.
Python prototype (for reference only):
computeDataModulationTerm(patternImages, shadowMask[, dataModulationTerm]) -> dataModulationTerm
@spec computeDataModulationTerm( t(), [Evision.Mat.maybe_mat_in()], Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil ) :: Evision.Mat.t() | {:error, String.t()}
compute the data modulation term.
Positional Arguments
self:
Evision.StructuredLight.SinusoidalPattern.t()
patternImages:
[Evision.Mat]
.captured images with projected patterns.
shadowMask:
Evision.Mat.t()
.Mask used to discard shadow regions.
Return
dataModulationTerm:
Evision.Mat.t()
.Mat where the data modulation term is saved.
Python prototype (for reference only):
computeDataModulationTerm(patternImages, shadowMask[, dataModulationTerm]) -> dataModulationTerm
@spec computePhaseMap(t(), [Evision.Mat.maybe_mat_in()]) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Compute a wrapped phase map from sinusoidal patterns.
Positional Arguments
self:
Evision.StructuredLight.SinusoidalPattern.t()
patternImages:
[Evision.Mat]
.Input data to compute the wrapped phase map.
Keyword Arguments
fundamental:
Evision.Mat.t()
.Fundamental matrix used to compute epipolar lines and ease the matching step.
Return
wrappedPhaseMap:
Evision.Mat.t()
.Wrapped phase map obtained through one of the three methods.
shadowMask:
Evision.Mat.t()
.Mask used to discard shadow regions.
Python prototype (for reference only):
computePhaseMap(patternImages[, wrappedPhaseMap[, shadowMask[, fundamental]]]) -> wrappedPhaseMap, shadowMask
@spec computePhaseMap( t(), [Evision.Mat.maybe_mat_in()], [{atom(), term()}, ...] | nil ) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Compute a wrapped phase map from sinusoidal patterns.
Positional Arguments
self:
Evision.StructuredLight.SinusoidalPattern.t()
patternImages:
[Evision.Mat]
.Input data to compute the wrapped phase map.
Keyword Arguments
fundamental:
Evision.Mat.t()
.Fundamental matrix used to compute epipolar lines and ease the matching step.
Return
wrappedPhaseMap:
Evision.Mat.t()
.Wrapped phase map obtained through one of the three methods.
shadowMask:
Evision.Mat.t()
.Mask used to discard shadow regions.
Python prototype (for reference only):
computePhaseMap(patternImages[, wrappedPhaseMap[, shadowMask[, fundamental]]]) -> wrappedPhaseMap, shadowMask
Constructor.
Keyword Arguments
parameters:
Evision.StructuredLight.SinusoidalPattern.Params.t()
.SinusoidalPattern parameters SinusoidalPattern::Params: width, height of the projector and patterns parameters.
Return
- retval:
Evision.StructuredLight.SinusoidalPattern.t()
Python prototype (for reference only):
create([, parameters]) -> retval
Constructor.
Keyword Arguments
parameters:
Evision.StructuredLight.SinusoidalPattern.Params.t()
.SinusoidalPattern parameters SinusoidalPattern::Params: width, height of the projector and patterns parameters.
Return
- retval:
Evision.StructuredLight.SinusoidalPattern.t()
Python prototype (for reference only):
create([, parameters]) -> retval
findProCamMatches(self, projUnwrappedPhaseMap, camUnwrappedPhaseMap)
View Source@spec findProCamMatches(t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in()) :: [Evision.Mat.t()] | {:error, String.t()}
Find correspondences between the two devices thanks to unwrapped phase maps.
Positional Arguments
self:
Evision.StructuredLight.SinusoidalPattern.t()
projUnwrappedPhaseMap:
Evision.Mat.t()
.Projector's unwrapped phase map.
camUnwrappedPhaseMap:
Evision.Mat.t()
.Camera's unwrapped phase map.
Return
matches:
[Evision.Mat]
.Images used to display correspondences map.
Python prototype (for reference only):
findProCamMatches(projUnwrappedPhaseMap, camUnwrappedPhaseMap[, matches]) -> matches
findProCamMatches(self, projUnwrappedPhaseMap, camUnwrappedPhaseMap, opts)
View Source@spec findProCamMatches( t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil ) :: [Evision.Mat.t()] | {:error, String.t()}
Find correspondences between the two devices thanks to unwrapped phase maps.
Positional Arguments
self:
Evision.StructuredLight.SinusoidalPattern.t()
projUnwrappedPhaseMap:
Evision.Mat.t()
.Projector's unwrapped phase map.
camUnwrappedPhaseMap:
Evision.Mat.t()
.Camera's unwrapped phase map.
Return
matches:
[Evision.Mat]
.Images used to display correspondences map.
Python prototype (for reference only):
findProCamMatches(projUnwrappedPhaseMap, camUnwrappedPhaseMap[, matches]) -> matches
@spec unwrapPhaseMap(t(), Evision.Mat.maybe_mat_in(), {number(), number()}) :: Evision.Mat.t() | {:error, String.t()}
Unwrap the wrapped phase map to remove phase ambiguities.
Positional Arguments
self:
Evision.StructuredLight.SinusoidalPattern.t()
wrappedPhaseMap:
Evision.Mat.t()
.The wrapped phase map computed from the pattern.
camSize:
Size
.Resolution of the camera.
Keyword Arguments
shadowMask:
Evision.Mat.t()
.Mask used to discard shadow regions.
Return
unwrappedPhaseMap:
Evision.Mat.t()
.The unwrapped phase map used to find correspondences between the two devices.
Python prototype (for reference only):
unwrapPhaseMap(wrappedPhaseMap, camSize[, unwrappedPhaseMap[, shadowMask]]) -> unwrappedPhaseMap
@spec unwrapPhaseMap( t(), Evision.Mat.maybe_mat_in(), {number(), number()}, [{atom(), term()}, ...] | nil ) :: Evision.Mat.t() | {:error, String.t()}
Unwrap the wrapped phase map to remove phase ambiguities.
Positional Arguments
self:
Evision.StructuredLight.SinusoidalPattern.t()
wrappedPhaseMap:
Evision.Mat.t()
.The wrapped phase map computed from the pattern.
camSize:
Size
.Resolution of the camera.
Keyword Arguments
shadowMask:
Evision.Mat.t()
.Mask used to discard shadow regions.
Return
unwrappedPhaseMap:
Evision.Mat.t()
.The unwrapped phase map used to find correspondences between the two devices.
Python prototype (for reference only):
unwrapPhaseMap(wrappedPhaseMap, camSize[, unwrappedPhaseMap[, shadowMask]]) -> unwrappedPhaseMap