![]() |
FlowEngine 8.011
Photogrammetry Software Development Kit
|
#include <Equirectangular.h>
Static Public Member Functions | |
| static FLE_DLL Result | decomposeEquirectangularImage (ConstBuffer< double > pose, Image image, double fieldOfView, Buffer< CameraInterface * > inOutCameras, Buffer< Image > inOutBubbleImages=Buffer< Image >()) |
| static FLE_DLL Result | generateEquirectangularImage (const StereoPointCloudInterface &stereoPointCloud, ConstBuffer< double > pose, Image inOutImage) |
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.