Class OdometryFrame
java.lang.Object
org.opencv.ptcloud.OdometryFrame
An object that keeps per-frame data for Odometry algorithms from user-provided images to algorithm-specific precalculated data.
When not empty, it contains a depth image, a mask of valid pixels and a set of pyramids generated from that data.
A BGR/Gray image and normals are optional.
OdometryFrame is made to be used together with Odometry class to reuse precalculated data between Rt data calculations.
A correct way to do that is to call Odometry::prepareFrames() on prev and next frames and then pass them to Odometry::compute() method.
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionConstruct a new OdometryFrame object.protectedOdometryFrame(long addr) OdometryFrame(Mat depth) Construct a new OdometryFrame object.OdometryFrame(Mat depth, Mat image) Construct a new OdometryFrame object.OdometryFrame(Mat depth, Mat image, Mat mask) Construct a new OdometryFrame object.OdometryFrame(Mat depth, Mat image, Mat mask, Mat normals) Construct a new OdometryFrame object. -
Method Summary
Modifier and TypeMethodDescriptionstatic OdometryFrame__fromPtr__(long addr) voidGet the original user-provided depth imagevoidgetGrayImage(Mat image) Get the gray image generated from the user-provided BGR/Gray imagevoidGet the original user-provided BGR/Gray imagevoidGet the valid pixels mask generated for the ICP calculations intersected with the user-provided masklongvoidgetNormals(Mat normals) Get the normals image either generated for the ICP calculations or user-providedvoidgetProcessedDepth(Mat depth) Get the depth image generated from the user-provided one after conversion, rescale or filtering for ICP algorithm needsvoidgetPyramidAt(Mat img, int pyrType, long level) Get the image generated for the ICP calculations from one of the pyramids specified by pyrType.intGet the amount of levels in pyramids (all of them if not empty should have the same number of levels) or 0 if no pyramids were prepared yet
-
Field Details
-
nativeObj
protected final long nativeObj
-
-
Constructor Details
-
OdometryFrame
protected OdometryFrame(long addr) -
OdometryFrame
Construct a new OdometryFrame object. All non-empty images should have the same size.- Parameters:
depth- A depth image, should be CV_8UC1image- An BGR or grayscale image (or noArray() if it's not required for used ICP algorithm). Should be CV_8UC3 or CV_8C4 if it's BGR image or CV_8UC1 if it's grayscale. If it's BGR then it's converted to grayscale image automatically.mask- A user-provided mask of valid pixels, should be CV_8UC1normals- A user-provided normals to the depth surface, should be CV_32FC4
-
OdometryFrame
Construct a new OdometryFrame object. All non-empty images should have the same size.- Parameters:
depth- A depth image, should be CV_8UC1image- An BGR or grayscale image (or noArray() if it's not required for used ICP algorithm). Should be CV_8UC3 or CV_8C4 if it's BGR image or CV_8UC1 if it's grayscale. If it's BGR then it's converted to grayscale image automatically.mask- A user-provided mask of valid pixels, should be CV_8UC1
-
OdometryFrame
Construct a new OdometryFrame object. All non-empty images should have the same size.- Parameters:
depth- A depth image, should be CV_8UC1image- An BGR or grayscale image (or noArray() if it's not required for used ICP algorithm). Should be CV_8UC3 or CV_8C4 if it's BGR image or CV_8UC1 if it's grayscale. If it's BGR then it's converted to grayscale image automatically.
-
OdometryFrame
Construct a new OdometryFrame object. All non-empty images should have the same size.- Parameters:
depth- A depth image, should be CV_8UC1 Should be CV_8UC3 or CV_8C4 if it's BGR image or CV_8UC1 if it's grayscale. If it's BGR then it's converted to grayscale image automatically.
-
OdometryFrame
public OdometryFrame()Construct a new OdometryFrame object. All non-empty images should have the same size. Should be CV_8UC3 or CV_8C4 if it's BGR image or CV_8UC1 if it's grayscale. If it's BGR then it's converted to grayscale image automatically.
-
-
Method Details
-
getNativeObjAddr
public long getNativeObjAddr() -
__fromPtr__
-
getImage
Get the original user-provided BGR/Gray image- Parameters:
image- Output image
-
getGrayImage
Get the gray image generated from the user-provided BGR/Gray image- Parameters:
image- Output image
-
getDepth
Get the original user-provided depth image- Parameters:
depth- Output image
-
getProcessedDepth
Get the depth image generated from the user-provided one after conversion, rescale or filtering for ICP algorithm needs- Parameters:
depth- Output image
-
getMask
Get the valid pixels mask generated for the ICP calculations intersected with the user-provided mask- Parameters:
mask- Output image
-
getNormals
Get the normals image either generated for the ICP calculations or user-provided- Parameters:
normals- Output image
-
getPyramidLevels
public int getPyramidLevels()Get the amount of levels in pyramids (all of them if not empty should have the same number of levels) or 0 if no pyramids were prepared yet- Returns:
- automatically generated
-
getPyramidAt
Get the image generated for the ICP calculations from one of the pyramids specified by pyrType. Returns empty image if the pyramid is empty or there's no such pyramid level- Parameters:
img- Output imagepyrType- Type of pyramidlevel- Level in the pyramid
-