FlowEngine 7.530
Photogrammetry Software Development Kit
|
Utility class to generate equirectangular-projection images and decompose them. More...
#include <Equirectangular.h>
Static Public Member Functions | |
static FLE_DLL Result | generateEquirectangularImage (const StereoPointCloudInterface &stereoPointCloud, ConstBuffer< double > pose, Image inOutImage) |
static FLE_DLL Result | decomposeEquirectangularImage (ConstBuffer< double > pose, Image image, double fieldOfView, Buffer< CameraInterface * > inOutCameras, Buffer< Image > inOutBubbleImages=Buffer< Image >()) |
Utility class to generate equirectangular-projection images and decompose them.
|
static |
Decomposes an equirectangular image.
inOutCameras
is specified (i.e. is a buffer of at least 6 valid CameraInterface objects), then this function will create 6 linked cameras paired with a valid CameraCalibration.outBubbleImages
is specified (i.e. is a buffer of a at least 6 Image structures), then the function will copy the bubble images to each Image contained in the buffer. Each Image should have appropriate dimensions: given W = image.width and H = image.height then the expected width and height is: (int) max( W, H ) / 3 [in] | pose | a 4x4 matrix (row major) describing the position and orientation of the virtual camera w.r.t. the point cloud. |
[in] | image | the equirectangular image to be decomposed. |
[in] | fieldOfView | the field of view of the output decomposed cameras. Sensible values should account for a small overlap to avoid visibile seems between different views. Valid range is [90.0, 120.0] degrees. Use 0.0 to use the default value (92.0 degrees). |
[in,out] | inOutCameras | (optional) a buffer of at least 6 cameras that will be linked together |
[in,out] | inOutBubbleImages | (optional) a buffer of at least 6 valid Image that will receive the undistorted bubble view images. |
inOutCameras
is filled with 6 linked cameras.pose
is not a valid buffer.fieldOfView
is not in the valid range.inOutImage
and inOutBubbleImages
are not valid buffers.inOutCameras
is not at least 6 elements long.outBubbleImages
is a valid buffer but it's not at least 6 elements long or each image is of expected dimensions (see note).
|
static |
Generates an equirectangular image with the supplied point cloud.
[in] | pose | a 4x4 matrix (row major) describing the position and orientation of the virtual camera w.r.t. the point cloud. |
[in] | stereoPointCloud | a valid dense point cloud. Its points (and colors, if present) will be used to generate the equirectangular image. |
[in,out] | inOutImage | an image data, filled with the requested width and height and a buffer big enough to receive the image data. |
inOutImage
data buffer was filled with the computed equirectangular image.pose
is not a valid buffer.inOutImage
has not valid dimensions or a valid buffer.inOutImage
data buffer is too small to receive the requested data.