Ocean
|
This class implements utility functions allowing e.g., for a more comfortable visualization of tracking data. More...
Static Public Member Functions | |
static Frame | blendFrames (const Frame &frame0, const Frame &frame1, Worker *worker=nullptr) |
Blends two given frames having the same frame type. More... | |
static Frame | blendFrames (const Frame &frame0, const Frame &frame1, Vector2 &offset0, Vector2 &offset1, const FrameType::PixelFormat pixelFormat=FrameType::FORMAT_UNDEFINED, Worker *worker=nullptr) |
Blends two given frames with same pixel origin. More... | |
static void | paintLine (Frame &frame, const Vector2 &startPosition, const Vector2 &stopPosition, const uint8_t *color=nullptr, const bool subPixel=true) |
Paints a line into a given frame. More... | |
static void | paintLines (Frame &frame, const Vector2 *startPositions, const Vector2 *stopPositions, const size_t numberLines, const uint8_t *color=nullptr, Worker *worker=nullptr, const bool subPixel=true, const Vector2 &offsetStartPositions=Vector2(0, 0), const Vector2 &offsetStopPositions=Vector2(0, 0)) |
Paints a set of lines into a given frame. More... | |
template<unsigned int tSize> | |
static void | paintLines (Frame &frame, const Vector2 *startPositions, const Vector2 *stopPositions, const size_t numberLines, const uint8_t *color=nullptr, Worker *worker=nullptr) |
Paints a set of lines into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSizeForeground, unsigned int tSizeBackground> | |
static void | paintLines (Frame &frame, const Vector2 *startPositions, const Vector2 *stopPositions, const size_t numberLines, const uint8_t *colorForeground=nullptr, const uint8_t *colorBackground=nullptr, Worker *worker=nullptr) |
Paints a set of lines with (foreground and) background color into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSize> | |
static void | paintPaths (Frame &frame, const Vectors2 *paths, const size_t size, const uint8_t *color=nullptr, Worker *worker=nullptr) |
Paints several paths into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSize> | |
static void | paintPaths (Frame &frame, const Vectors2 *paths, const size_t size, const uint8_t *color0, const uint8_t *color1, const Scalar *factors, Worker *worker=nullptr) |
Paints several paths into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSize = 1u> | |
static void | paintTriangle (Frame &frame, const Triangle2 &triangle, const uint8_t *color=nullptr) |
Paints a 2D triangle into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSize = 1u> | |
static void | paintTriangles (Frame &frame, const Triangles2 &triangles, const uint8_t *color=nullptr, Worker *worker=nullptr) |
Paints a set of 2D triangles into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tPointSize> | |
static void | paintImagePoints (Frame &frame, const Vector2 *imagePoints, const size_t size, const uint8_t *color, Worker *worker=nullptr) |
Paints a set of 2D image points into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tPointSize> | |
static void | paintObjectPoints (Frame &frame, const AnyCamera &anyCamera, const HomogenousMatrix4 &world_T_camera, const Vector3 *objectPoints, const size_t size, const uint8_t *color, Worker *worker=nullptr) |
Paints a set of 3D object points (rather their projected 2D counterparts respectively) into a given frame with sub-pixel accuracy. More... | |
static void | paintFeaturePoint (Frame &frame, const Vector2 &position, const Scalar radius, const Scalar orientation, const uint8_t *color, const uint8_t *shadowColor) |
Paints a feature point having a radius (a scale) and orientation. More... | |
template<unsigned int tChannels> | |
static void | paintFeaturePoint8BitPerChannel (uint8_t *frame, const unsigned int width, const unsigned int height, const Vector2 &position, const Scalar radius, const Scalar orientation, const uint8_t *color, const uint8_t *shadowColor, const unsigned int framePaddingElements=0u) |
Paints a feature point having a radius (a scale) and orientation. More... | |
static void | paintFeaturePoints (Frame &frame, const Vector2 *positions, const Scalar *radii, const Scalar *orientations, const size_t size, const uint8_t *color, const uint8_t *shadowColor, const Vector2 &explicitOffset=Vector2(0, 0), Worker *worker=nullptr) |
Paints feature points having a radius (a scale) and orientation. More... | |
template<unsigned int tChannels> | |
static void | paintFeaturePoints8BitPerChannel (uint8_t *frame, const unsigned int width, const unsigned int height, const Vector2 *positions, const Scalar *radii, const Scalar *orientations, const size_t size, const uint8_t *color, const uint8_t *shadowColor, const Vector2 &explicitOffset, const unsigned int framePaddingElements, Worker *worker=nullptr) |
Paints feature points having a radius (a scale) and orientation. More... | |
template<unsigned int tObjectPointSize, unsigned int tImagePointSize> | |
static void | paintCorrespondences (Frame &frame, const AnyCamera &camera, const HomogenousMatrix4 &model_T_camera, const Vector3 *objectPoints, const Vector2 *imagePoints, const size_t correspondences, const Scalar maxSqrError, const uint8_t *colorValidObjectPoints, const uint8_t *colorValidImagePoints, const uint8_t *colorInvalidObjectPoints, const uint8_t *colorInvalidImagePoints, const bool drawObjectPoints=true, const bool drawImagePoints=true, const bool drawConnections=true, Worker *worker=nullptr) |
Paints a set of correspondences between 2D image points and 3D object points (rather their projected 2D counterparts respectively) into a given frame with sub-pixel accuracy. More... | |
static Frame | paintCorrespondencesBlend (const Frame &frame0, const Frame &frame1, const Vector2 *points0, const Vector2 *points1, const size_t numberPoints, const uint8_t *rgbColor=nullptr, Worker *worker=nullptr) |
Blends two corresponding frames each with a ratio of fifty percent and paints a set of given feature correspondences. More... | |
static Frame | paintCorrespondencesHorizontal (const Frame &frame0, const Frame &frame1, const Vector2 *points0, const Vector2 *points1, const size_t numberPoints, const uint8_t *color=nullptr, Worker *worker=nullptr) |
Joins two corresponding frames horizontally and paints a set of given feature correspondences. More... | |
static Frame | paintCorrespondencesVertical (const Frame &frame0, const Frame &frame1, const Vector2 *points0, const Vector2 *points1, const size_t numberPoints, const uint8_t *color=nullptr, Worker *worker=nullptr) |
Joins two corresponding frames vertically and paints a set of given feature correspondences. More... | |
static bool | paintCorrespondencesHomography (const Frame &frame0, const Frame &frame1, const SquareMatrix3 &points1_H_points0, const Vector2 *points0, const Vector2 *points1, const size_t numberPoints, const bool fullCoverage, Frame &result, const uint8_t *foregroundColor=nullptr, const uint8_t *backgroundColor=nullptr, const uint8_t *startColor=nullptr, Worker *worker=nullptr) |
Joins two corresponding frames by application of a homography and paints a set of given feature correspondences. More... | |
static bool | paintCorrespondencesOrientations (const PinholeCamera &pinholeCamera, const Frame &frame0, const Frame &frame1, const SquareMatrix3 &orientation0, const SquareMatrix3 &orientation1, const Vector2 *points0, const Vector2 *points1, const size_t numberPoints, Frame &result, const uint8_t *foregroundColor=nullptr, const uint8_t *backgroundColor=nullptr, const uint8_t *startColor=nullptr, Worker *worker=nullptr) |
Joins two corresponding frames by application of their orientations and paints a set of given feature correspondences. More... | |
static void | paintPoints (Frame &frame, const Vector2 *imagePoints, const size_t number, const unsigned int radius, const uint8_t *colorInner=nullptr, const uint8_t *colorOuter=nullptr) |
Paints a set of image points into a given frame. More... | |
static void | paintPoints (Frame &frame, const HomogenousMatrix4 &world_T_camera, const PinholeCamera &pinholeCamera, const Vector3 *objectPoints, const size_t numberObjectPoints, const Vector2 *imagePoints, const size_t numberImagePoints, const bool distortProjectedObjectPoints, const unsigned int radiusObjectPoints, const unsigned int radiusImagePoints, const uint8_t *colorObjectPoints=nullptr, const uint8_t *colorImagePoints=nullptr) |
Paints (projected) object points and image points into a given frame. More... | |
static void | paintPointsIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_world, const PinholeCamera &pinholeCamera, const Vector3 *objectPoints, const size_t numberObjectPoints, const Vector2 *imagePoints, const size_t numberImagePoints, const bool distortProjectedObjectPoints, const unsigned int radiusObjectPoints, const unsigned int radiusImagePoints, const uint8_t *colorObjectPoints=nullptr, const uint8_t *colorImagePoints=nullptr) |
Paints (projected) object points and image points into a given frame. More... | |
static void | paintBoundingBoxIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &anyCamera, const Box3 &boundingBox, const uint8_t *foregroundColor, const uint8_t *backgroundColor, const bool edgesOnly=true) |
Paints a (projected) 3D axis aligned bounding box into a given frame. More... | |
static void | paintWireframeConeIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_cone, const PinholeCamera &pinholeCamera, const Cone3 &cone, const bool distortProjectedObjectPoints=true, Worker *worker=nullptr, const uint8_t *color=CV::Canvas::yellow(), const unsigned int numCircles=6u, const unsigned int numVerticalLines=4u, const unsigned int numSamples=72u) |
Paints a (projected) wire-frame cone into a given frame. More... | |
static void | paintWireframeCylinderIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_cylinder, const PinholeCamera &pinholeCamera, const Cylinder3 &cylinder, const bool distortProjectedObjectPoints=true, Worker *worker=nullptr, const uint8_t *color=CV::Canvas::yellow(), const unsigned int numCircles=6u, const unsigned int numVerticalLines=4u, const unsigned int numSamples=72u) |
Paints a (projected) wire-frame cylinder into a given frame. More... | |
template<unsigned int tSize = 1u> | |
static void | paintTriangleIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &anyCamera, const Triangle3 &triangle, const uint8_t *color=nullptr) |
Paints a (projected) 3D triangle into a given frame. More... | |
template<unsigned int tSize = 1u> | |
static void | paintTrianglesIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &anyCamera, const Triangle3 *triangles, const size_t numberTriangles, const uint8_t *color=nullptr, Worker *worker=nullptr) |
Paints (projected) 3D triangles into a given frame. More... | |
static void | paintLineIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &anyCamera, const Vector3 &objectPoint0, const Vector3 &objectPoint1, const unsigned int segments, const uint8_t *foregroundColor, const uint8_t *backgroundColor) |
Paints a (projected) 3D line into a given frame. More... | |
static void | paintCoordinateSystemIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &anyCamera, const HomogenousMatrix4 &world_T_coordinateSystem, const Scalar length) |
Paints a 3D coordinate system (projected) into a frame. More... | |
static bool | paintPlane (Frame &frame, const HomogenousMatrix4 &world_T_camera, const AnyCamera &camera, const HomogenousMatrix4 &planeTransformation, const unsigned int bins, const uint8_t *foregroundColor, const uint8_t *backgroundColor, Scalar *expansion=nullptr) |
Paints a 3D plane into the frame, further the origin of the plane is painted. More... | |
static bool | paintPlaneIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &camera, const HomogenousMatrix4 &planeTransformation, const Scalar expansion, const unsigned int bins, const uint8_t *foregroundColor, const uint8_t *backgroundColor) |
Paints a 3D plane into the frame, further the origin of the plane is painted. More... | |
static void | paintQuads (Frame &frame, const HomogenousMatrix4 &world_T_camera, const AnyCamera &camera, const Vector3 &quadOrigin, const Vector3 &quadHorizontal, const Vector3 &quadVertical, const unsigned int horizontalBins, const unsigned int verticalBins, const uint8_t *color=nullptr) |
Paints quads that are located on a 3D plane into a given frame. More... | |
static void | paintQuadsIF (Frame &frame, const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &camera, const Vector3 &quadOrigin, const Vector3 &quadHorizontal, const Vector3 &quadVertical, const unsigned int horizontalBins, const unsigned int verticalBins, const uint8_t *color=nullptr) |
Paints quads that are located on a 3D plane into a given frame. More... | |
static Frame | paintMask (const Frame &frame, const Frame &mask, const uint8_t maskValue=uint8_t(0xFFu), Worker *worker=nullptr) |
Paints / blends a binary 8 bit mask into a given frame with identical frame dimension. More... | |
static Frame | paintBoundingBox (const Frame &frame, const CV::PixelBoundingBox &boundingBox, Worker *worker=nullptr) |
Paints / blends a bounding box into a given frame. More... | |
static bool | alignFramesHomography (const Frame &fixedFrame, const Frame &dynamicFrame, const SquareMatrix3 &dynamic_H_fixed, Frame &result, const bool blend, Worker *worker=nullptr) |
Aligns two frames connected by a given homography into one frame while the resulting frame covers the area of one given frame only (the fixed frame). More... | |
static bool | alignFramesHomographyFullCoverage (const Frame &fixedFrame, const Frame &dynamicFrame, const SquareMatrix3 &dynamic_H_fixed, Frame &result, const bool blend, Worker *worker=nullptr, unsigned int maximalWidth=16384u, const unsigned int maximalHeight=16384u, unsigned int *fixedFrameLeft=nullptr, unsigned int *fixedFrameTop=nullptr, Scalar *dynamicFrameLeft=nullptr, Scalar *dynamicFrameTop=nullptr, Frame *fullFixedFrame=nullptr, Frame *fullDynamicFrame=nullptr) |
Aligns two frames connected by a given homography into one frame entirely covering the frame content of both images. More... | |
static void | visualizeDatabase (const Database &database, const Index32 poseId, Frame &frame, const uint8_t *colorImagePoints, const uint8_t *colorImagePointsInstable, const uint8_t *colorImagePointsStable, const unsigned int maximalPathLength=20u, const unsigned int stablePathLength=100u, const SquareMatrix3 &transformation=SquareMatrix3(true), Worker *worker=nullptr) |
Visualizes image point information of a tracking database for a specific pose id. More... | |
static bool | writeCamera (const PinholeCamera &pinholeCamera, IO::OutputBitstream &outputStream) |
Writes a camera profile to a binary output stream. More... | |
static bool | readCamera (IO::InputBitstream &inputStream, PinholeCamera &pinholeCamera) |
Reads a camera profile from a binary input stream. More... | |
static bool | writeDatabase (const Database &database, IO::OutputBitstream &outputStream) |
Writes the information of a database to a given output stream as binary information. More... | |
static bool | readDatabase (IO::InputBitstream &inputStream, Database &database) |
Reads a database information from a binary input stream. More... | |
static Maintenance::Buffer | encodeEnvironment (const Frame &frame, const Vectors2 &frameImagePoints, const Vectors3 &frameObjectPoints, const HomogenousMatrix4 &framePose, const Vectors3 &objectPoints) |
Encodes the tracking environment composes of a frame mesh (a frame with correspondences of 2D image points and 3D object points), a camera pose from which the frame has been captured and an independent set of 3D object points. More... | |
Static Protected Member Functions | |
static void | paintLinesSubset (Frame *frame, const Vector2 *startPositions, const Vector2 *stopPositions, const uint8_t *color, const bool subPixel, const Vector2 *offsetStartPositions, const Vector2 *offsetStopPositions, const unsigned int firstLine, const unsigned int numberLines) |
Paints a subset of a set of lines into a given frame. More... | |
template<unsigned int tSize> | |
static void | paintLinesSubset (Frame *frame, const Vector2 *startPositions, const Vector2 *stopPositions, const uint8_t *color, const unsigned int firstLine, const unsigned int numberLines) |
Paints a subset of a set of lines into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSizeForeground, unsigned int tSizeBackground> | |
static void | paintLinesSubset (Frame *frame, const Vector2 *startPositions, const Vector2 *stopPositions, const uint8_t *colorForeground, const uint8_t *colorBackground, const unsigned int firstLine, const unsigned int numberLines) |
Paints a subset of a set of lines into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSize> | |
static void | paintPathsSubset (Frame *frame, const Vectors2 *paths, const uint8_t *color, const unsigned int firstPath, const unsigned int numberPaths) |
Paints a subset of several paths into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSize> | |
static void | paintPathsAdvancedSubset (Frame *frame, const Vectors2 *paths, const uint8_t *color0, const uint8_t *color1, const Scalar *factors, const unsigned int firstPath, const unsigned int numberPaths) |
Paints a subset of several paths into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSize = 1u> | |
static void | paintTrianglesSubset (Frame *frame, const Triangle2 *triangles, const uint8_t *color, const unsigned int firstTriangle, const unsigned int numberTriangles) |
Paints a subset of 2D triangles into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tSize = 1u> | |
static void | paintTrianglesIFSubset (Frame *frame, const HomogenousMatrix4 *flippedCamera_T_world, const AnyCamera *anyCamera, const Triangle3 *triangles, const uint8_t *color, const unsigned int firstTriangle, const unsigned int numberTriangles) |
Projects and paints a subset of 3D triangles into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tPointSize> | |
static void | paintImagePointsSubset (Frame *frame, const Vector2 *imagePoints, const uint8_t *color, const unsigned int firstImagePoint, const unsigned int numberImagePoints) |
Paints subset of a set of 2D image points into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tPointSize> | |
static void | paintObjectPointsSubset (Frame *frame, const AnyCamera *anyCamera, const HomogenousMatrix4 *flippedCamera_T_world, const Vector3 *objectPoints, const uint8_t *color, const unsigned int firstObjectPoint, const unsigned int numberObjectPoints) |
Paints a subset of set of 3D object points (rather their projected 2D counterparts respectively) into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tChannels> | |
static void | paintFeaturePoints8BitPerChannelSubset (uint8_t *frame, const unsigned int width, const unsigned int height, const Vector2 *positions, const Scalar *radii, const Scalar *orientations, const uint8_t *color, const uint8_t *shadowColor, const Scalar offsetX, const Scalar offsetY, const unsigned int framePaddingElements, const unsigned int firstFeaturePoint, const unsigned int numberFeaturePoints) |
Paints a subset of feature points having a radius (a scale) and orientation. More... | |
template<unsigned int tObjectPointSize, unsigned int tImagePointSize> | |
static void | paintCorrespondencesSubset (Frame *frame, const AnyCamera *camera, const HomogenousMatrix4 *flippedCamera_T_model, const Vector3 *objectPoints, const Vector2 *imagePoints, const Scalar maxSqrError, const uint8_t *colorValidObjectPoints, const uint8_t *colorValidImagePoints, const uint8_t *colorInvalidObjectPoints, const uint8_t *colorInvalidImagePoints, const bool drawObjectPoints, const bool drawImagePoints, const bool drawConnections, const unsigned int firstCorrespondence, const unsigned int numberCorrespondences) |
Paints a subset of a set of correspondences between 2D image points and 3D object points (rather their projected 2D counterparts respectively) into a given frame with sub-pixel accuracy. More... | |
template<unsigned int tBlendChannel, unsigned int tChannels> | |
static void | blendPixel (uint8_t *pixel, const uint8_t blendFactor) |
Paints / blends a binary 8 bit mask pixel into a given pixel with 8 bit per channel. More... | |
This class implements utility functions allowing e.g., for a more comfortable visualization of tracking data.
|
static |
Aligns two frames connected by a given homography into one frame while the resulting frame covers the area of one given frame only (the fixed frame).
fixedFrame | The fixed frame which will be untouched while the dynamic frame will be transformed by application of the homography and aligned to this frame, must be valid |
dynamicFrame | The dynamic frame which will be transformed and then aligned to the fixed frame, with same pixel format and pixel orientation as the fixed frame |
dynamic_H_fixed | The homography transforming points defined in the fixed frame to points defined in the dynamic frame, must be valid |
result | The resulting frame with aligned frames, the frame type will be adjusted/set internally |
blend | True, to blend both frames; False, to overwrite each pixel for which a corresponding pixel in the dynamic frame exist |
worker | Optional worker object to distribute the computation |
|
static |
Aligns two frames connected by a given homography into one frame entirely covering the frame content of both images.
fixedFrame | The fixed frame which will be untouched while the dynamic frame will be transformed by application of the homography and aligned to this frame, must be valid |
dynamicFrame | The dynamic frame which will be transformed and then aligned to the fixed frame, with same pixel format and pixel orientation as the fixed frame |
dynamic_H_fixed | The homography transforming points defined in the fixed frame to points defined in the dynamic frame, must be valid |
result | The resulting frame with aligned frames converting the image content of both frames, the frame type will be adjusted/set internally |
blend | True, to blend both frames; False, to overwrite each pixel for which a corresponding pixel in the dynamic frame exist |
worker | Optional worker object to distribute the computation |
maximalWidth | The maximal width of the resulting frame to ensure that an extreme homography does not create an extreme large result, in pixel with range [1, infinity) |
maximalHeight | The maximal height of the resulting frame to ensure that an extreme homography does not create an extreme large result, in pixel with range [1, infinity) |
fixedFrameLeft | Optional resulting horizontal location of the top left pixel of the fixed frame in the resulting aligned frame, with range [0, result.width() - fixedFrame.width()] |
fixedFrameTop | Optional resulting vertical location of the top left pixel of the fixed frame in the resulting aligned frame, with range [0, result.height() - fixedFrame.height()] |
dynamicFrameLeft | Optional resulting horizontal location of the top left pixel of the dynamic frame in relation to 'fixedFrameLeft', with range (-infinity, infinity) |
dynamicFrameTop | Optional resulting horizontal location of the top left pixel of the dynamic frame in relation to 'fixedFrameTop', with range (-infinity, infinity) |
fullFixedFrame | Optional resulting frame covering the fixed frame only, but with same frame dimension as the resulting aligned frame |
fullDynamicFrame | Optional resulting frame covering the transformed dynamic frame only, but with same frame dimension as the resulting aligned frame |
|
static |
Blends two given frames with same pixel origin.
In case the image resolution varies, both images will be aligned at the image center and missing image content is added at the border. The resulting frame holds pixel intensity values of fifty percent of each frame.
frame0 | The first frame that will be blended, must be valid |
frame1 | The second frame that will be blended, with same frame type as the first frame, must be valid |
offset0 | The location of the top-left corner of the first frame within the blended frame, with range [0, 0]x(infinity, infinity) |
offset1 | The location of the top-left corner of the second frame within the blended frame, with range [0, 0]x(infinity, infinity) |
pixelFormat | The pixel format the resulting blended image will have, FORMAT_UNDEFINED to use the pixel format of the given images (which must be identical in that case) |
worker | Optional worker object to distribute the computation |
|
static |
Blends two given frames having the same frame type.
The resulting frame holds pixel intensity values of fifty percent of each frame.
frame0 | The first frame that will be blended, must be valid |
frame1 | The second frame that will be blended, with same frame type as the first frame, must be valid |
worker | Optional worker object to distribute the computation |
|
inlinestaticprotected |
Paints / blends a binary 8 bit mask pixel into a given pixel with 8 bit per channel.
pixel | The pixel data which will receive the mask |
blendFactor | The blend factor for the given pixel |
tBlendChannel | The index of the data channel which will be blended, with range [0, tChannels) |
tChannels | The number of data channels of the given pixel |
|
static |
Encodes the tracking environment composes of a frame mesh (a frame with correspondences of 2D image points and 3D object points), a camera pose from which the frame has been captured and an independent set of 3D object points.
frame | The frame to encode |
frameImagePoints | The image points located in the given frame |
frameObjectPoints | The object points, one object point for each image point |
framePose | The camera pose to encode |
objectPoints | The independent object points to encode |
|
static |
Paints / blends a bounding box into a given frame.
frame | The frame in which the bounding box will be painted, must be valid |
boundingBox | The bounding box, must be valid and must be defined inside the frame |
worker | Optional worker object to distribute the computation |
|
static |
Paints a (projected) 3D axis aligned bounding box into a given frame.
frame | The frame receiving the points, must be valid |
flippedCamera_T_world | The transformation between world and the flipped camera, must be valid |
anyCamera | The camera profile defining the projection, with dimension equal to the frame dimension |
boundingBox | The bounding box that will be painted, defined in world |
foregroundColor | The foreground color of the plane, nullptr to skip the painting with the foreground color |
backgroundColor | The background color of the plane, nullptr to skip the painting with the background color |
edgesOnly | True, to paint the edges of the bounding box only; False, to paint also the diagonal connections |
|
static |
Paints a 3D coordinate system (projected) into a frame.
If the frame in an RGB 24bit frame, than the axis are painted in red (x), green (y), and blue (z); otherwise axis with color zero are.
frame | The frame in which the coordinate system is painted, must be valid |
flippedCamera_T_world | The camera posed converting world to the flipped camera coordinate system (a camera coordinate system pointing towards the positive z-space), must be valid |
anyCamera | The camera profile that is used to render the coordinate system |
world_T_coordinateSystem | The transformation of the coordinate system which transformed points defined in the local coordinate system (which will be rendered) into points defined in the world coordinate system, must be valid |
length | The length of the three axis of the coordinate system, defined in the units of the local coordinate system (coordinateSystem) |
|
inlinestatic |
Paints a set of correspondences between 2D image points and 3D object points (rather their projected 2D counterparts respectively) into a given frame with sub-pixel accuracy.
The projected object points will be painted first, followed by their corresponding image points.
Further, a connection between the projected object points and the corresponding image points can be painted, which can be helpful if the given pose is not accurate.
frame | The frame in which the projected object points and image points will be painted |
camera | The camera profile defining the projection between 3D object points and camera plane |
model_T_camera | The camera pose transforming the camera coordinate system to the coordinate system of the object points (with viewing direction along the negative z-axis and y-axis as up vector), must be valid |
objectPoints | The object points which will be projected into the camera frame |
imagePoints | The image points corresponding to the given object points, the smaller the distance between image points and projected object points the more accurate the camera pose |
correspondences | The number of given 2D/3D point correspondences, with range [0, infinity) |
maxSqrError | The maximal square pixel error between a projected object point and the corresponding image point to count as valid, with range [0, infinity) |
colorValidObjectPoints | The color for valid object points |
colorValidImagePoints | The color for valid object points |
colorInvalidObjectPoints | The color for invalid object points |
colorInvalidImagePoints | The color for invalid image points |
drawObjectPoints | True, to draw the object points |
drawImagePoints | True, to draw the image points |
drawConnections | True, to draw the connections between projected object points and the corresponding image points |
worker | Optional worker object to distribute the computation |
tObjectPointSize | The radius of the object points, must be odd with range [tImagePointSize, infinity) |
tImagePointSize | The radius of the image points, must be odd, with range [1, infinity) |
|
static |
Blends two corresponding frames each with a ratio of fifty percent and paints a set of given feature correspondences.
Both frames must have the same pixel origin, while internally both images will be converted to FORMAT_RGB24 images.
frame0 | The first frame, must be valid |
frame1 | The second frame, with same frame type as the first frame |
points0 | The positions of the feature correspondences in the first frame |
points1 | The positions of the feature correspondences in the second frame, each point as a corresponding point in the first frame |
numberPoints | The number of given feature correspondences, with range [0, infinity) |
rgbColor | The color that will be used to paint the points, ensure that three values are provided (with order: R, G, B), otherwise nullptr to use black |
worker | Optional worker object to distribute the computation |
|
static |
Joins two corresponding frames by application of a homography and paints a set of given feature correspondences.
The second frame will be aligned so that it matches with the first frame (by application of the homography).
Both frame can have individual frame dimensions.
frame0 | The first frame, must be valid |
frame1 | The second frame, with pixel origin as the first frame, must be valid |
points1_H_points0 | The homography transforming points defined in the first frame to points defined in the second frame, must be valid |
points0 | The positions of the feature correspondences in the first frame, with range [0, frame0.width())x[0, frame0.height()) |
points1 | The positions of the feature correspondences in the second frame, each point as a corresponding point in the first frame, with range [0, frame1.width())x[0, frame1.height()) |
numberPoints | The number of given feature correspondences, with range [0, infinity) |
fullCoverage | True, to create a frame fully covering both frames; False, to create a frame covering the first frame only |
result | Returns the resulting joined frame showing the feature correspondences |
foregroundColor | The foreground color that will be used to paint the lines, ensure that one value is provided for each frame channel, nullptr to use black |
backgroundColor | Optional background color that will used for each line, nullptr to avoid the usage of a background color |
startColor | Optional color of the start points of each line, nullptr to avoid the usage of a color for the start point |
worker | Optional worker object to distribute the computation |
|
static |
Joins two corresponding frames horizontally and paints a set of given feature correspondences.
Both frame can have individual frame dimensions (as long as the pixel origin is identical).
Internally both images will be converted to FORMAT_RGB24 images.
frame0 | The first frame, must be valid |
frame1 | The second frame, with same pixel origin as the first frame, must be valid |
points0 | The positions of the feature correspondences in the first frame |
points1 | The positions of the feature correspondences in the second frame, each point as a corresponding point in the first frame |
numberPoints | The number of given feature correspondences, with range [0, infinity) |
color | The color that will be used to paint the points, ensure that three values are provided (with order R, G, B), otherwise nullptr to use black |
worker | Optional worker object to distribute the computation |
|
static |
Joins two corresponding frames by application of their orientations and paints a set of given feature correspondences.
pinholeCamera | The pinhole camera profile defining the project, must be valid |
frame0 | The first frame with frame dimension as the camera dimension, must be valid |
frame1 | The second frame, with frame type as the first frame, must be valid |
orientation0 | The orientation of the first frame, must be valid |
orientation1 | The orientation of the second frame, must be valid |
points0 | The positions of the feature correspondences in the first frame, with range [0, frame0.width())x[0, frame0.height()) |
points1 | The positions of the feature correspondences in the second frame, each point as a corresponding point in the first frame, with range [0, frame1.width())x[0, frame1.height()) |
numberPoints | The number of given feature correspondences, with range [0, infinity) |
result | Returns the resulting joined frame showing the feature correspondences |
foregroundColor | The foreground color that will be used to paint the lines, ensure that one value is provided for each frame channel, nullptr to use black |
backgroundColor | Optional background color that will used for each line, nullptr to avoid the usage of a background color |
startColor | Optional color of the start points of each line, nullptr to avoid the usage of a color for the start point |
worker | Optional worker object to distribute the computation |
|
staticprotected |
Paints a subset of a set of correspondences between 2D image points and 3D object points (rather their projected 2D counterparts respectively) into a given frame with sub-pixel accuracy.
The projected object points will be painted first, followed by their corresponding image points.
Further, a connection between the projected object points and the corresponding image points can be painted, which can be helpful if the given pose is not accurate.
frame | The frame in which the projected object points and image points will be painted |
camera | The camera profile defining the projection between 3D object points and camera plane |
flippedCamera_T_model | The inverted and flipped camera pose transforming points located in coordinate system of the model to points located in the coordinate system of the flipped camera, must be valid |
objectPoints | The object points which will be projected into the camera frame |
imagePoints | The image points corresponding to the given object points, the smaller the distance between image points and projected object points the more accurate the camera pose |
maxSqrError | The maximal square pixel error between a projected object point and the corresponding image point to count as valid, with range [0, infinity) |
colorValidObjectPoints | The color for valid object points |
colorValidImagePoints | The color for valid object points |
colorInvalidObjectPoints | The color for invalid object points |
colorInvalidImagePoints | The color for invalid image points |
drawObjectPoints | True, to draw the object points |
drawImagePoints | True, to draw the image points |
drawConnections | True, to draw the connections between projected object points and the corresponding image points |
firstCorrespondence | The first correspondence to handle |
numberCorrespondences | The number of correspondences to handle |
tObjectPointSize | The radius of the object points, must be odd with range [tImagePointSize, infinity) |
tImagePointSize | The radius of the image points, must be odd, with range [1, infinity) |
|
static |
Joins two corresponding frames vertically and paints a set of given feature correspondences.
Both frame can have individual frame dimensions, while internally both images will be converted to FORMAT_RGB24 images.
frame0 | The first frame, must be valid |
frame1 | The second frame, with pixel origin as the first frame, must be valid |
points0 | The positions of the feature correspondences in the first frame |
points1 | The positions of the feature correspondences in the second frame, each point as a corresponding point in the first frame |
numberPoints | The number of given feature correspondences, with range [0, infinity) |
color | The color that will be used to paint the points, ensure that three values are provided (with order: R, G, B), otherwise nullptr to use black |
worker | Optional worker object to distribute the computation |
|
static |
Paints a feature point having a radius (a scale) and orientation.
frame | The frame in which the projected object points will be painted, must be valid |
position | The position of the feature point defined in the pixel domain of the given frame, with range (-infinity, infinity)x(-infinity, infinity) |
radius | The radius (scale) of the feature point in pixel, with range (0, infinity) |
orientation | The orientation of the feature point as CCW angle in radian, with range [0, 2PI) |
color | The color for the feature point, one value for each frame data channel |
shadowColor | The outer color for the object points, one value for each frame data channel or nullptr to skip painting the shadow |
|
static |
Paints a feature point having a radius (a scale) and orientation.
frame | The frame in which the feature points will be painted, must be valid |
width | The width of the frame in pixel, with range (0, infinity) |
height | The height of the frame in pixel, with range (0, infinity) |
position | The position of the feature point defined in the pixel domain of the given frame, with range (-infinity, infinity)x(-infinity, infinity) |
radius | The radius (scale) of the feature point in pixel, with range (0, infinity) |
orientation | The orientation of the feature point as CCW angle in radian, with range [0, 2PI) |
color | The color for the feature point, one value for each frame data channel |
shadowColor | The outer color for the object points, one value for each frame data channel or nullptr to skip painting the shadow |
framePaddingElements | The number of padding elements at the end of each frame row, in elements, with range [0, infinity) |
tChannels | The number of data channels, with range [1, infinity) |
|
static |
Paints feature points having a radius (a scale) and orientation.
frame | The frame in which the projected object points will be painted, must be valid |
positions | The positions of the feature points defined in the pixel domain of the given frame, with range (-infinity, infinity)x(-infinity, infinity), can be nullptr if size is 0 |
radii | The radii (scale) of the feature points in pixel, with range (0, infinity), one for each position, can be nullptr if size is 0 |
orientations | The orientations of the feature points as CCW angle in radian, with range [0, 2PI), one for each position, can be nullptr if size is 0 |
size | The number of feature points to be painted, with range [0, infinity) |
color | The color for the feature point, one value for each frame data channel |
shadowColor | The outer color for the object points, one value for each frame data channel or nullptr to skip painting the shadow |
explicitOffset | Optional explicit offset which will be added to every feature point location before the point is painted, with range (-infinity, infinity)x(-infinity, infinity) |
worker | Optional worker object to distribute the computation |
|
inlinestatic |
Paints feature points having a radius (a scale) and orientation.
frame | The frame in which the feature points will be painted, must be valid |
width | The width of the frame in pixel, with range (0, infinity) |
height | The height of the frame in pixel, with range (0, infinity) |
positions | The positions of the feature points defined in the pixel domain of the given frame, with range (-infinity, infinity)x(-infinity, infinity), can be nullptr if size is 0 |
radii | The radii (scale) of the feature points in pixel, with range (0, infinity), one for each position, can be nullptr if size is 0 |
orientations | The orientations of the feature points as CCW angle in radian, with range [0, 2PI), one for each position, can be nullptr if size is 0 |
size | The number of feature points to be painted, with range [0, infinity) |
color | The color for the feature point, one value for each frame data channel |
shadowColor | The outer color for the object points, one value for each frame data channel or nullptr to skip painting the shadow |
explicitOffset | Optional explicit offset which will be added to every feature point location before the point is painted, with range (-infinity, infinity)x(-infinity, infinity) |
framePaddingElements | The number of padding elements at the end of each frame row, in elements, with range [0, infinity) |
worker | Optional worker object to distribute the computation |
tChannels | The number of data channels, with range [1, infinity) |
|
inlinestaticprotected |
Paints a subset of feature points having a radius (a scale) and orientation.
frame | The frame in which the feature points will be painted, must be valid |
width | The width of the frame in pixel, with range (0, infinity) |
height | The height of the frame in pixel, with range (0, infinity) |
positions | The positions of the feature points defined in the pixel domain of the given frame, with range (-infinity, infinity)x(-infinity, infinity) |
radii | The radii (scale) of the feature points in pixel, with range (0, infinity), one for each position |
orientations | The orientations of the feature points as CCW angle in radian, with range [0, 2PI), one for each position |
color | The color for the feature point, one value for each frame data channel |
shadowColor | The outer color for the object points, one value for each frame data channel or nullptr to skip painting the shadow |
offsetX | Explicit horizontal offset which will be added to every feature point location before the point is painted, with range (-infinity, infinity) |
offsetY | Explicit vertical offset which will be added to every feature point location before the point is painted, with range (-infinity, infinity) |
framePaddingElements | The number of padding elements at the end of each frame row, in elements, with range [0, infinity) |
firstFeaturePoint | The first feature point to be handled, with range [0, 'size') |
numberFeaturePoints | The number of feature points to be handled, with range [1, 'size'] |
tChannels | The number of data channels, with range [1, infinity) |
|
inlinestatic |
Paints a set of 2D image points into a given frame with sub-pixel accuracy.
frame | The frame in which the image points will be painted |
imagePoints | The image points which will be painted |
size | The number of given 2D points, with range [0, infinity) |
color | The color for the image points |
worker | Optional worker object to distribute the computation |
tPointSize | The radius of the image points, must be odd with range [1, infinity) |
|
inlinestaticprotected |
Paints subset of a set of 2D image points into a given frame with sub-pixel accuracy.
frame | The frame in which the image points will be painted |
imagePoints | The image points which will be painted |
color | The color for the image points |
firstImagePoint | The first image point to handle |
numberImagePoints | The number of image points to handle |
tPointSize | The radius of the image points, must be odd with range [1, infinity) |
|
inlinestatic |
Paints a line into a given frame.
frame | The frame in which is drawn |
startPosition | Start position of line |
stopPosition | Stop position of line |
color | The color that will be used to paint the points, ensure that one value is provided for each frame channel, otherwise black is used |
subPixel | True, to paint the line with sub-pixel accuracy; False, to paint the line with pixel accuracy |
|
static |
Paints a (projected) 3D line into a given frame.
frame | The frame in which the triangle will be painted, must be valid |
flippedCamera_T_world | The transformation transforming world to the flipped camera, the flipped camera points towards the positive z-space with y-axis down, must be valid |
anyCamera | The camera profile defining the projection, must be valid |
objectPoint0 | The start 3D object point of the 3D line, defined in world |
objectPoint1 | The end 3D object point of the 3D line, defined in world |
segments | The number of segments in which the line will be separated, with range [1, infinity), the more segments the better the adjustment to the camera distortion (if any) |
foregroundColor | The foreground color of the plane, nullptr to skip the painting with the foreground color |
backgroundColor | The background color of the plane, nullptr to skip the painting with the background color |
|
inlinestatic |
Paints a set of lines into a given frame with sub-pixel accuracy.
frame | The frame in which is drawn, must be valid |
startPositions | Start positions of the lines |
stopPositions | Stop positions of the lines, each end position must have a corresponding start position |
numberLines | The number of lines, with range [0, infinity) |
color | The color that will be used to paint the points, ensure that one value is provided for each frame channel, nullptr to apply black |
worker | Optional worker object to distribute the computation |
tSize | The thickness of the lines in pixel, must be odd with range [1, infinity) |
|
inlinestatic |
Paints a set of lines into a given frame.
frame | The frame in which is drawn |
startPositions | Start positions of the lines |
stopPositions | Stop positions of the lines, each end position must have a corresponding start position |
numberLines | The number of lines, with range [0, infinity) |
color | The color that will be used to paint the points, ensure that one value is provided for each frame channel, nullptr to apply black |
worker | Optional worker object to distribute the computation |
subPixel | True, to paint the lines with sub-pixel accuracy; False, to paint the lines with pixel accuracy |
offsetStartPositions | The offset which will be added to each start position before painting the line, with range (-infinity, infinity)x(-infinity, infinity) |
offsetStopPositions | The offset which will be added to each stop position before painting the line, with range (-infinity, infinity)x(-infinity, infinity) |
|
inlinestatic |
Paints a set of lines with (foreground and) background color into a given frame with sub-pixel accuracy.
frame | The frame in which is drawn, must be valid |
startPositions | Start positions of the lines |
stopPositions | Stop positions of the lines, each end position must have a corresponding start position |
numberLines | The number of lines, with range [0, infinity) |
colorForeground | Foreground color that will be used to paint the points, ensure that one value is provided for each frame channel, nullptr to use black |
colorBackground | Background color that will be used to paint the points, ensure that one value is provided for each frame channel, nullptr to use black |
worker | Optional worker object to distribute the computation |
tSizeForeground | The thickness of the foreground lines in pixel, must be odd with range [1, infinity) |
tSizeBackground | The thickness of the background lines in pixel, must be odd with range (tSizeForeground, infinity) |
|
inlinestaticprotected |
Paints a subset of a set of lines into a given frame.
frame | The frame in which is drawn |
startPositions | Start positions of the lines |
stopPositions | Stop positions of the lines, each end position must have a corresponding start position |
color | The color that will be used to paint the lines, ensure that one value is provided for each frame channel, nullptr to use black |
subPixel | True, to paint the lines with sub-pixel accuracy; False, to paint the lines with pixel accuracy |
offsetStartPositions | The offset which will be added to each start position before painting the line, with range (-infinity, infinity)x(-infinity, infinity) |
offsetStopPositions | The offset which will be added to each stop position before painting the line, with range (-infinity, infinity)x(-infinity, infinity) |
firstLine | First line to be handled |
numberLines | The number of lines to be handled |
|
inlinestaticprotected |
Paints a subset of a set of lines into a given frame with sub-pixel accuracy.
frame | The frame in which is drawn, must be valid |
startPositions | Start positions of the lines |
stopPositions | Stop positions of the lines, each end position must have a corresponding start position |
color | The color that will be used to paint the lines, ensure that one value is provided for each frame channel, nullptr to use black |
firstLine | First line to be handled |
numberLines | The number of lines to be handled |
tSize | The thickness of the lines in pixel, must be odd with range [1, infinity) |
|
inlinestaticprotected |
Paints a subset of a set of lines into a given frame with sub-pixel accuracy.
frame | The frame in which is drawn, must be valid |
startPositions | Start positions of the lines |
stopPositions | Stop positions of the lines, each end position must have a corresponding start position |
colorForeground | Foreground color that will be used to paint the points, ensure that one value is provided for each frame channel, nullptr to use black |
colorBackground | Background color that will be used to paint the points, ensure that one value is provided for each frame channel, nullptr to use black |
firstLine | First line to be handled |
numberLines | The number of lines to be handled |
tSizeForeground | The thickness of the foreground lines in pixel, must be odd with range [1, infinity) |
tSizeBackground | The thickness of the background lines in pixel, must be odd with range (tSizeForeground, infinity) |
|
static |
Paints / blends a binary 8 bit mask into a given frame with identical frame dimension.
frame | The frame in which the mask will be painted, must be valid |
mask | The binary mask frame, with frame dimension matching with the given frame, must be valid |
maskValue | The mask value defining pixels which will be painted as masked, may be 0x00 or 0xFF |
worker | Optional worker object to distribute the computation |
|
inlinestatic |
Paints a set of 3D object points (rather their projected 2D counterparts respectively) into a given frame with sub-pixel accuracy.
frame | The frame in which the projected object points will be painted |
anyCamera | The camera profile defining the projection between 3D object points and camera plane |
world_T_camera | The camera pose from which the 3D object points are observed with default viewing direction towards the negative z-space and y-axis as up vector, transforming camera to world, must be valid |
objectPoints | The object points which will be projected into the camera frame, defined in world |
size | The number of given 3D points, with range [0, infinity) |
color | The color for the object points |
worker | Optional worker object to distribute the computation |
tPointSize | The radius of the object points, must be odd with range [1, infinity) |
|
inlinestaticprotected |
Paints a subset of set of 3D object points (rather their projected 2D counterparts respectively) into a given frame with sub-pixel accuracy.
frame | The frame in which the projected object points will be painted |
anyCamera | The camera profile defining the projection between 3D object points and camera plane, must be valid |
flippedCamera_T_world | The inverted and flipped camera pose from which the 3D object points are observed, with default camera pointing towards the positive z-space with y-axis down, must be valid |
objectPoints | The object points which will be projected into the camera frame |
color | The color for the object points |
firstObjectPoint | The first object point to handle |
numberObjectPoints | The number of object points to handle |
tPointSize | The radius of the object points, must be odd with range [1, infinity) |
|
inlinestatic |
Paints several paths into a given frame with sub-pixel accuracy.
A path is a chain of connected image points with arbitrary length (start and end point are not connected).
The colors of the paths are determined by an interpolation between two separate color values.
frame | The frame in which the paths will be painted |
paths | The individual paths to be painted |
size | The number of given paths, with range [0, infinity) |
color0 | The first color value, ensure that one value is provided for each frame channel |
color1 | The second color value, ensure that one value is provided for each frame channel |
factors | The interpolation factor, one factor for each path, with range [0, 1] |
worker | Optional worker object to distribute the computation |
tSize | The thickness of the paths in pixel, must be odd with range [1, infinity) |
|
inlinestatic |
Paints several paths into a given frame with sub-pixel accuracy.
A path is a chain of connected image points with arbitrary length (start and end point are not connected).
frame | The frame in which the paths will be painted |
paths | The individual paths to be painted |
size | The number of given paths, with range [0, infinity) |
color | The color that will be used to paint the points, ensure that one value is provided for each frame channel, nullptr to apply black |
worker | Optional worker object to distribute the computation |
tSize | The thickness of the paths in pixel, must be odd with range [1, infinity) |
|
inlinestaticprotected |
Paints a subset of several paths into a given frame with sub-pixel accuracy.
The colors of the paths are determined by an interpolation between two separate color values.
frame | The frame in which the paths will be painted |
paths | The individual paths to be painted |
color0 | The first color value, ensure that one value is provided for each frame channel |
color1 | The second color value, ensure that one value is provided for each frame channel |
factors | The interpolation factor, one factor for each path, with range [0, 1] |
firstPath | The first path to handled |
numberPaths | The number of paths to handle |
tSize | The thickness of the paths in pixel, must be odd with range [1, infinity) |
|
inlinestaticprotected |
Paints a subset of several paths into a given frame with sub-pixel accuracy.
frame | The frame in which the paths will be painted |
paths | The individual paths to be painted |
color | The color that will be used to paint the points, ensure that one value is provided for each frame channel, nullptr to apply black |
firstPath | The first path to handled |
numberPaths | The number of paths to handle |
tSize | The thickness of the paths in pixel, must be odd with range [1, infinity) |
|
static |
Paints a 3D plane into the frame, further the origin of the plane is painted.
This function determines a worthwhile expansion of the plane best matching with the scene.
frame | The frame in which the plane is painted |
world_T_camera | The camera pose from which the 3D object points are observed with default viewing direction towards the negative z-space and y-axis as up vector, transforming camera to world, must be valid |
camera | The camera profile defining the project, must be valid |
planeTransformation | The transformation having the origin on the plane and the z-axis parallel to the plane's normal |
bins | The number of bins in both direction that will be painted, with range [1, infinity) |
foregroundColor | The foreground color of the plane, nullptr to skip the painting with the foreground color |
backgroundColor | The background color of the plane, nullptr to skip the painting with the background color |
expansion | Optional resulting plane's expansion in the scene in x-axis and y-axis defined in world coordinates, with range (0, infinity) |
|
static |
Paints a 3D plane into the frame, further the origin of the plane is painted.
frame | The frame in which the plane is painted |
flippedCamera_T_world | The camera posed converting world to the flipped camera coordinate system (a camera coordinate system pointing towards the positive z-space), must be valid |
camera | The camera profile defining the project, must be valid |
planeTransformation | The transformation having the origin on the plane and the z-axis parallel to the plane's normal |
expansion | The plane's expansion for the scene in x-axis and y-axis defined in world coordinates, with range (0, infinity) |
bins | The number of bins in both direction that will be painted, with range [1, infinity) |
foregroundColor | The foreground color of the plane, nullptr to skip the painting with the foreground color |
backgroundColor | The background color of the plane, nullptr to skip the painting with the background color |
|
inlinestatic |
Paints (projected) object points and image points into a given frame.
frame | The frame receiving the points |
world_T_camera | The transformations between camera and the world, must be valid |
pinholeCamera | The pinhole camera profile defining the projection, with dimension equal to the frame dimension |
objectPoints | The object points that will be painted, defined in world |
numberObjectPoints | Number of provided object points, with range [0, infinity) |
imagePoints | Image points that will be painted |
numberImagePoints | Number of provided image points, with range [0, infinity) |
distortProjectedObjectPoints | True, to apply the distortion parameters of the camera to the projected object points |
radiusObjectPoints | Radius of the object point paintings in pixel |
radiusImagePoints | Radius of the image point paintings in pixel |
colorObjectPoints | Color that will be used to paint the object points, ensure that one value is provided for each frame channel, otherwise white is used |
colorImagePoints | Color that will be used to paint the image points, ensure that one value is provided for each frame channel, otherwise white is used |
|
static |
Paints a set of image points into a given frame.
frame | The frame receiving the points |
imagePoints | Image points that will be painted |
number | The number of provided image points, with range [0, infinity) |
radius | The radius of the paintings in pixel, with range [0, infinity) |
colorInner | Inner color that will be used, ensure that one value is provided for each frame channel, otherwise white is used |
colorOuter | Outer color that will be used, ensure that one value is provided for each frame channel, otherwise black is used |
|
static |
Paints (projected) object points and image points into a given frame.
frame | The frame receiving the points, must be valid |
flippedCamera_T_world | The transformation between the world and the flipped camera, must be valid |
pinholeCamera | The pinhole camera profile defining the projection, with dimension equal to the frame dimension |
objectPoints | The object points that will be painted, defined in world |
numberObjectPoints | Number of provided object points, with range [0, infinity) |
imagePoints | Image points that will be painted |
numberImagePoints | Number of provided image points, with range [0, infinity) |
distortProjectedObjectPoints | True, to apply the distortion parameters of the camera to the projected object points |
radiusObjectPoints | Radius of the object point paintings in pixel |
radiusImagePoints | Radius of the image point paintings in pixel |
colorObjectPoints | Color that will be used to paint the object points, ensure that one value is provided for each frame channel, otherwise white is used |
colorImagePoints | Color that will be used to paint the image points, ensure that one value is provided for each frame channel, otherwise white is used |
|
inlinestatic |
Paints quads that are located on a 3D plane into a given frame.
frame | The frame receiving the points |
world_T_camera | The camera pose from which the 3D object points are observed with default viewing direction towards the negative z-space and y-axis as up vector, transforming camera to world, must be valid |
camera | The camera profile defining the projection, with dimension equal to the frame dimension |
quadOrigin | Origin of the upper left quad position, defined in world |
quadHorizontal | Vector starting at the quad origin and defining the horizontal direction of the quads, defined in world |
quadVertical | Vector starting at the quad origin and defining the vertical direction of the quads, defined in world |
horizontalBins | Number of horizontal bins that will be painted |
verticalBins | Number of vertical bins that will be painted |
color | The color that will be used to paint the points, ensure that one value is provided for each frame channel, otherwise black is used |
|
static |
Paints quads that are located on a 3D plane into a given frame.
|
static |
Paints a 2D triangle into a given frame with sub-pixel accuracy.
frame | The frame receiving the triangles |
triangle | The triangle that will be painted, must be valid |
color | The color that will be used to paint the triangle edges, ensure that one value is provided for each frame channel, otherwise black is used |
tSize | The thickness of the triangle edges in pixels, must be odd with range [1, infinity) |
|
inlinestatic |
Paints a (projected) 3D triangle into a given frame.
frame | The frame in which the triangle will be painted, must be valid |
flippedCamera_T_world | The transformation transforming world to the flipped camera, the flipped camera points towards the positive z-space with y-axis down, must be valid |
anyCamera | The camera profile defining the projection, must be valid |
triangle | The triangle that will be painted |
color | The color to be used to paint the triangle edges, nullptr to use black |
tSize | The thickness of the triangle edges in pixels, must be odd with range [1, infinity) |
|
static |
Paints a set of 2D triangles into a given frame with sub-pixel accuracy.
frame | The frame receiving the triangles |
triangles | The triangles that will be painted |
color | The color that will be used to paint the triangle edges, ensure that one value is provided for each frame channel, otherwise black is used |
worker | Optional worker to distribute the computation |
tSize | The thickness of the triangle edges in pixels, must be odd with range [1, infinity) |
|
static |
Paints (projected) 3D triangles into a given frame.
frame | The frame in which the triangles will be painted, must be valid |
flippedCamera_T_world | The transformation transforming world to the flipped camera, the flipped camera points towards the positive z-space with y-axis down, must be valid |
anyCamera | The camera profile defining the projection, must be valid |
triangles | The 3D triangles that will be painted, defined in world, can be nullptr if 'numberTriangles == 0' |
numberTriangles | Number of triangles that will be painted, with range [0, infinity) |
color | The color to be used to paint the triangle edges, nullptr to use black |
worker | Optional worker to distribute the computation |
tSize | The thickness of the triangle edges in pixels, must be odd with range [1, infinity) |
|
inlinestaticprotected |
Projects and paints a subset of 3D triangles into a given frame with sub-pixel accuracy.
frame | The frame in which the triangle will be painted, must be valid |
flippedCamera_T_world | The transformation transforming world to the flipped camera, the flipped camera points towards the positive z-space with y-axis down, must be valid |
anyCamera | The camera profile defining the projection, must be valid |
triangles | The triangles that will be painted, defined in world, must be valid |
color | The color to be used to paint the triangle edges, nullptr to use black |
firstTriangle | The first triangle to handled |
numberTriangles | The number of triangle to handle |
tSize | The thickness of the triangle edges in pixels, must be odd with range [1, infinity) |
|
inlinestaticprotected |
Paints a subset of 2D triangles into a given frame with sub-pixel accuracy.
frame | The frame receiving the triangles |
triangles | The triangles that will be painted |
color | The color that will be used to paint the triangle points, ensure that one value is provided for each frame channel, otherwise black is used |
firstTriangle | The first triangle to handled |
numberTriangles | The number of triangle to handle |
tSize | The thickness of the triangle edges in pixels, must be odd with range [1, infinity) |
|
static |
Paints a (projected) wire-frame cone into a given frame.
frame | The frame being drawn to, must be valid |
flippedCamera_T_cone | Inverted and flipped pose of the camera w.r.t the cone |
pinholeCamera | The pinhole camera profile defining the projection, with dimension equal to the frame dimension |
cone | The cone that will be painted |
distortProjectedObjectPoints | True, to apply the distortion parameters of the camera to the projected object points |
worker | Optional worker to distribute the computation |
color | The color for the drawn lines |
numCircles | Number of axis-slicing circles to draw along the cone's vertical span, with range [2, infinity) |
numVerticalLines | Number axis-parallel lines to draw around the cone, with range [0, infinity) |
numSamples | Number of lines to draw to approximate the projection of each circle, with range [3, infinity) |
|
static |
Paints a (projected) wire-frame cylinder into a given frame.
frame | The frame being drawn to, must be valid |
flippedCamera_T_cylinder | Inverted and flipped pose of the camera w.r.t the cylinder |
pinholeCamera | The pinhole camera profile defining the projection, with dimension equal to the frame dimension |
cylinder | The cylinder that will be painted |
distortProjectedObjectPoints | True, to apply the distortion parameters of the camera to the projected object points |
worker | Optional worker to distribute the computation |
color | The color for the drawn lines |
numCircles | Number of axis-slicing circles to draw along the cylinder's vertical span, with range [2, infinity) |
numVerticalLines | Number axis-parallel lines to draw around the cylinder, with range [0, infinity) |
numSamples | Number of lines to draw to approximate the projection of each circle, with range [3, infinity) |
|
static |
Reads a camera profile from a binary input stream.
inputStream | The input stream providing the information |
pinholeCamera | The resulting pinhole camera profile |
|
static |
Reads a database information from a binary input stream.
inputStream | The input stream providing the information |
database | The database receiving the information, the given database will cleared before the information is assigned |
|
static |
Visualizes image point information of a tracking database for a specific pose id.
database | The database holding the tracking information to be visualized |
poseId | The id of the pose for which the visualization will be created |
frame | The frame receiving the visualization of the database |
colorImagePoints | The color for feature points, ensure that one value is provided for each frame channel |
colorImagePointsInstable | The color for instable paths, ensure that one value is provided for each frame channel |
colorImagePointsStable | The color for stable paths, ensure that one value is provided for each frame channel |
maximalPathLength | The maximal length (number of concurrent frames) of paths of feature points that will be visualized, with range [0, infinity) |
stablePathLength | The length (number of concurrent frames) of paths so that they count as stable, with range [1, infinity) |
transformation | The transformation matrix which will be applied to each feature point position before the position is visualized |
worker | Optional worker to distribute the computation |
|
static |
Writes a camera profile to a binary output stream.
pinholeCamera | The pinhole camera profile to be written |
outputStream | The output stream receiving the information |
|
static |
Writes the information of a database to a given output stream as binary information.
database | The database to be written |
outputStream | The output stream receiving the information |