View Source Evision.RGBD.RgbdPlane (Evision v0.2.9)
Summary
Functions
apply
Variant 1:
apply
Clears the algorithm state
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
getBlockSize
getDefaultName
getMethod
getMinSize
getSensorErrorA
getSensorErrorB
getSensorErrorC
getThreshold
Reads algorithm parameters from a file storage
save
setBlockSize
setMethod
setMinSize
setSensorErrorA
setSensorErrorB
setSensorErrorC
setThreshold
Stores algorithm parameters in a file storage
write
Types
@type t() :: %Evision.RGBD.RgbdPlane{ref: reference()}
Type that represents an RGBD.RgbdPlane
struct.
ref.
reference()
The underlying erlang resource variable.
Functions
@spec apply(t(), Evision.Mat.maybe_mat_in()) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
apply
Positional Arguments
self:
Evision.RGBD.RgbdPlane.t()
points3d:
Evision.Mat
.the 3d points organized like the depth image: rows x cols with 3 channels
Return
mask:
Evision.Mat.t()
.An image where each pixel is labeled with the plane it belongs to and 255 if it does not belong to any plane
plane_coefficients:
Evision.Mat.t()
.the coefficients of the corresponding planes (a,b,c,d) such that ax+by+cz+d=0
Find The planes in a depth image but without doing a normal check, which is faster but less accurate
Python prototype (for reference only):
apply(points3d[, mask[, plane_coefficients]]) -> mask, plane_coefficients
@spec apply(t(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
@spec apply(t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in()) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Variant 1:
apply
Positional Arguments
self:
Evision.RGBD.RgbdPlane.t()
points3d:
Evision.Mat
.the 3d points organized like the depth image: rows x cols with 3 channels
normals:
Evision.Mat
.the normals for every point in the depth image
Return
mask:
Evision.Mat.t()
.An image where each pixel is labeled with the plane it belongs to and 255 if it does not belong to any plane
plane_coefficients:
Evision.Mat.t()
.the coefficients of the corresponding planes (a,b,c,d) such that ax+by+cz+d=0, norm(a,b,c)=1 and c < 0 (so that the normal points towards the camera)
Find The planes in a depth image
Python prototype (for reference only):
apply(points3d, normals[, mask[, plane_coefficients]]) -> mask, plane_coefficients
Variant 2:
apply
Positional Arguments
self:
Evision.RGBD.RgbdPlane.t()
points3d:
Evision.Mat
.the 3d points organized like the depth image: rows x cols with 3 channels
Return
mask:
Evision.Mat.t()
.An image where each pixel is labeled with the plane it belongs to and 255 if it does not belong to any plane
plane_coefficients:
Evision.Mat.t()
.the coefficients of the corresponding planes (a,b,c,d) such that ax+by+cz+d=0
Find The planes in a depth image but without doing a normal check, which is faster but less accurate
Python prototype (for reference only):
apply(points3d[, mask[, plane_coefficients]]) -> mask, plane_coefficients
@spec apply( t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil ) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
apply
Positional Arguments
self:
Evision.RGBD.RgbdPlane.t()
points3d:
Evision.Mat
.the 3d points organized like the depth image: rows x cols with 3 channels
normals:
Evision.Mat
.the normals for every point in the depth image
Return
mask:
Evision.Mat.t()
.An image where each pixel is labeled with the plane it belongs to and 255 if it does not belong to any plane
plane_coefficients:
Evision.Mat.t()
.the coefficients of the corresponding planes (a,b,c,d) such that ax+by+cz+d=0, norm(a,b,c)=1 and c < 0 (so that the normal points towards the camera)
Find The planes in a depth image
Python prototype (for reference only):
apply(points3d, normals[, mask[, plane_coefficients]]) -> mask, plane_coefficients
@spec clear(Keyword.t()) :: any() | {:error, String.t()}
@spec clear(t()) :: t() | {:error, String.t()}
Clears the algorithm state
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Python prototype (for reference only):
clear() -> None
create
Positional Arguments
method:
integer()
.The method to use to compute the planes.
block_size:
integer()
.The size of the blocks to look at for a stable MSE
min_size:
integer()
.The minimum size of a cluster to be considered a plane
threshold:
double
.The maximum distance of a point from a plane to belong to it (in meters)
Keyword Arguments
sensor_error_a:
double
.coefficient of the sensor error. 0 by default, 0.0075 for a Kinect
sensor_error_b:
double
.coefficient of the sensor error. 0 by default
sensor_error_c:
double
.coefficient of the sensor error. 0 by default
Return
- retval:
RgbdPlane
Constructor
Python prototype (for reference only):
create(method, block_size, min_size, threshold[, sensor_error_a[, sensor_error_b[, sensor_error_c]]]) -> retval
@spec create( integer(), integer(), integer(), number(), [sensor_error_a: term(), sensor_error_b: term(), sensor_error_c: term()] | nil ) :: t() | {:error, String.t()}
create
Positional Arguments
method:
integer()
.The method to use to compute the planes.
block_size:
integer()
.The size of the blocks to look at for a stable MSE
min_size:
integer()
.The minimum size of a cluster to be considered a plane
threshold:
double
.The maximum distance of a point from a plane to belong to it (in meters)
Keyword Arguments
sensor_error_a:
double
.coefficient of the sensor error. 0 by default, 0.0075 for a Kinect
sensor_error_b:
double
.coefficient of the sensor error. 0 by default
sensor_error_c:
double
.coefficient of the sensor error. 0 by default
Return
- retval:
RgbdPlane
Constructor
Python prototype (for reference only):
create(method, block_size, min_size, threshold[, sensor_error_a[, sensor_error_b[, sensor_error_c]]]) -> retval
@spec empty(Keyword.t()) :: any() | {:error, String.t()}
@spec empty(t()) :: boolean() | {:error, String.t()}
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Return
- retval:
bool
Python prototype (for reference only):
empty() -> retval
@spec getBlockSize(Keyword.t()) :: any() | {:error, String.t()}
@spec getBlockSize(t()) :: integer() | {:error, String.t()}
getBlockSize
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Return
- retval:
integer()
Python prototype (for reference only):
getBlockSize() -> retval
@spec getDefaultName(Keyword.t()) :: any() | {:error, String.t()}
@spec getDefaultName(t()) :: binary() | {:error, String.t()}
getDefaultName
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Return
- retval:
String
Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.
Python prototype (for reference only):
getDefaultName() -> retval
@spec getMethod(Keyword.t()) :: any() | {:error, String.t()}
@spec getMethod(t()) :: integer() | {:error, String.t()}
getMethod
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Return
- retval:
integer()
Python prototype (for reference only):
getMethod() -> retval
@spec getMinSize(Keyword.t()) :: any() | {:error, String.t()}
@spec getMinSize(t()) :: integer() | {:error, String.t()}
getMinSize
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Return
- retval:
integer()
Python prototype (for reference only):
getMinSize() -> retval
@spec getSensorErrorA(Keyword.t()) :: any() | {:error, String.t()}
@spec getSensorErrorA(t()) :: number() | {:error, String.t()}
getSensorErrorA
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Return
- retval:
double
Python prototype (for reference only):
getSensorErrorA() -> retval
@spec getSensorErrorB(Keyword.t()) :: any() | {:error, String.t()}
@spec getSensorErrorB(t()) :: number() | {:error, String.t()}
getSensorErrorB
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Return
- retval:
double
Python prototype (for reference only):
getSensorErrorB() -> retval
@spec getSensorErrorC(Keyword.t()) :: any() | {:error, String.t()}
@spec getSensorErrorC(t()) :: number() | {:error, String.t()}
getSensorErrorC
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Return
- retval:
double
Python prototype (for reference only):
getSensorErrorC() -> retval
@spec getThreshold(Keyword.t()) :: any() | {:error, String.t()}
@spec getThreshold(t()) :: number() | {:error, String.t()}
getThreshold
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
Return
- retval:
double
Python prototype (for reference only):
getThreshold() -> retval
@spec read(t(), Evision.FileNode.t()) :: t() | {:error, String.t()}
Reads algorithm parameters from a file storage
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- func:
Evision.FileNode
Python prototype (for reference only):
read(fn) -> None
save
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- filename:
String
Saves the algorithm to a file. In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
Python prototype (for reference only):
save(filename) -> None
setBlockSize
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- val:
integer()
Python prototype (for reference only):
setBlockSize(val) -> None
setMethod
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- val:
integer()
Python prototype (for reference only):
setMethod(val) -> None
setMinSize
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- val:
integer()
Python prototype (for reference only):
setMinSize(val) -> None
setSensorErrorA
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- val:
double
Python prototype (for reference only):
setSensorErrorA(val) -> None
setSensorErrorB
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- val:
double
Python prototype (for reference only):
setSensorErrorB(val) -> None
setSensorErrorC
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- val:
double
Python prototype (for reference only):
setSensorErrorC(val) -> None
setThreshold
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- val:
double
Python prototype (for reference only):
setThreshold(val) -> None
@spec write(t(), Evision.FileStorage.t()) :: t() | {:error, String.t()}
Stores algorithm parameters in a file storage
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- fs:
Evision.FileStorage
Python prototype (for reference only):
write(fs) -> None
@spec write(t(), Evision.FileStorage.t(), binary()) :: t() | {:error, String.t()}
write
Positional Arguments
- self:
Evision.RGBD.RgbdPlane.t()
- fs:
Evision.FileStorage
- name:
String
Has overloading in C++
Python prototype (for reference only):
write(fs, name) -> None