|
template<class T > |
static std::shared_ptr< T > | Load (const String &fileName, PointCloudFlags flags) |
| Loads a 3D point, polygon or mesh file (typed). More...
|
|
static PointCloudPtr | Load (const String &fileName, PointCloudFlags flags) |
| Loads a 3D point, polygon or mesh file. More...
|
|
static PointCloudPtr | Create (const ImagePlane &rangeMap, const Calibrator3D &calibrator, PointCloudFlags flags) |
| Creates a new Cartesian 3D point cloud from the given 2.5D range map image. More...
|
|
template<class T > |
static std::shared_ptr< T > | Create (const ImagePlane &rangeMap, const Calibrator3D &calibrator, PointCloudFlags flags) |
| Creates a new Cartesian 3D point cloud from the given 2.5D range map image (typed). More...
|
|
static PointCloudPtr | CreateWithSettings (const ImagePlane &rangeMap, const Calibrator3D &calibrator, PointCloudFlags flags, const SensorSettings &settings, double encoderStep) |
| Creates a new Cartesian 3D point cloud from the given 2.5D range map image with modified camera settings. More...
|
|
template<class T > |
static std::shared_ptr< T > | CreateWithSettings (const ImagePlane &rangeMap, const Calibrator3D &calibrator, PointCloudFlags flags, const SensorSettings &settings, double encoderStep) |
| Creates a new Cartesian 3D point cloud from the given 2.5D range map image with modified camera settings (typed). More...
|
|
static SparsePointCloudPtr | CreateSparse (std::size_t numPoints, PointCloudFlags flags) |
| Creates a new sparse Cartesian 3D point cloud. More...
|
|
static SparsePointCloudPtr | CreateSparse (const std::vector< void * > &planeBasePtrs, int numPlanes, Cvb::DataType dataType, std::size_t numPoints, const std::vector< std::intptr_t > &planeIncs) |
| Creates a point cloud from the given memory without copying the data. More...
|
|
static DensePointCloudPtr | CreateDense (Size2D< int > size, PointCloudFlags flags) |
| Creates a new dense Cartesian 3D point cloud. More...
|
|
static DensePointCloudPtr | CreateDense (const Cvb::ImagePlane &rangeMap, Factors3D factors, PointCloudFlags flags) |
| Creates a new Cartesian 3D point cloud from the given 2.5D range map image. More...
|
|
Factory object for creating point cloud objects.
Creates a new Cartesian 3D point cloud from the given 2.5D range map image.
Depending on the calibration method the point cloud resulting from the untyped function PointCloudFactory::Create is a DensePointCloud or a SparsePointCloud. Note, that if this output point cloud is dense, the confidence layer is always available. Background range map pixels are set non-confident. In case of a sparse point cloud, points representing background values and also the confidence layer are removed (except the user explicitly wants to keep the confidence layer which can be requested via the point cloud flags).
Only range maps with floating point and unsigned integer DataType values are supported. For unsigned integer data types, the following DataType::BytesPerPixel values are supported: 1, 2 and 4. Note, that only linear access is supported (check with function ImagePlane::TryLinearAccess).
- Note
- Creating a calibrated point cloud, the camera settings applied during the acquisition of the range map have to be known. Default settings are read from the calibrator loaded from a calibration file. If the actual settings differ from the default ones, the user has to set them and create a calibrated point cloud with function PointCloudFactory::CreateWithSettings.
- Parameters
-
[in] | rangeMap | Handle of 2.5D image plane. |
[in] | calibrator | Calibration object to apply. |
[in] | flags | Flags specifying the kind of point cloud to be created. |
- Returns
- A pointer to the point cloud.
- Exceptions
-
- Examples
- Cvb/CppPointCloudCreateCalibrated, Foundation/CppMetricCalibration, Foundation/CppMetricCalibrationInclinationLaserPlane, and Foundation/CppMetricCalibrationRigidBodyTrafo.
Creates a new Cartesian 3D point cloud from the given 2.5D range map image (typed).
The point cloud will automatically be converted to the given type.
- Attention
- If the the given type is a DensePointCloud, but the created point cloud actually would be a SparsePointCloud (applies to calibrators containing an affine matrix, which can be checked with LaserPlaneCalibrator3D::CorrectionOfLaserPlaneInclination and Calibrator3D::ExtrinsicMatrix), the point cloud will be converted with function SparsePointCloud::ToDensePointCloud. Be aware, that point clouds created with SparsePointCloud::ToDensePointCloud might have gaps! In general type DensePointCloud is not recommended for calibrators containing an affine matrix!
Depending on the calibration method the point cloud resulting from the untyped function PointCloudFactory::Create is a DensePointCloud or a SparsePointCloud. Note, that if this output point cloud is dense, the confidence layer is always available. Background range map pixels are set non-confident. In case of a sparse point cloud, points representing background values and also the confidence layer are removed (except the user explicitly wants to keep the confidence layer which can be requested via the point cloud flags).
Only range maps with floating point and unsigned integer DataType values are supported. For unsigned integer data types, the following DataType::BytesPerPixel values are supported: 1, 2 and 4. Note, that only linear access is supported (check with function ImagePlane::TryLinearAccess).
- Note
- Creating a calibrated point cloud, the camera settings applied during the acquisition of the range map have to be known. Default settings are read from the calibrator loaded from a calibration file. If the actual settings differ from the default ones, the user has to set them and create a calibrated point cloud with function PointCloudFactory::CreateWithSettings.
- Parameters
-
[in] | rangeMap | Handle of 2.5D image plane. |
[in] | calibrator | Calibration object to apply. |
[in] | flags | Flags specifying the kind of point cloud to be created. |
- Returns
- A pointer to the point cloud.
- Exceptions
-
Creates a new Cartesian 3D point cloud from the given 2.5D range map image with modified camera settings.
Creating a calibrated point cloud, the camera settings applied during the acquisition of the range map have to be known. Default settings are read from the calibrator loaded from a calibration file. If the actual settings differ from the default ones, the user has to set them and create a calibrated point cloud via function this function. You can get and check the default settings via LaserPlaneCalibrator3D::SensorSettings. The default encoder step can also be get from the calibrator via function LaserPlaneCalibrator3D::YFactor.
Depending on the calibration method the point cloud resulting from the untyped function PointCloudFactory::CreateWithSettings is a DensePointCloud or a SparsePointCloud. Note, that if this output point cloud is dense, the confidence layer is always available. Background range map pixels are set non-confident. In case of a sparse point cloud, points representing background values and also the confidence layer are removed (except the user explicitly wants to keep the confidence layer which can be requested via the point cloud flags).
Only range maps with floating point and unsigned integer DataType values are supported. For unsigned integer data types, the following DataType::BytesPerPixel values are supported: 1, 2 and 4. Note, that only linear access is supported (check with function ImagePlane::TryLinearAccess).
- Parameters
-
[in] | rangeMap | Handle of 2.5D image plane. |
[in] | calibrator | Calibration object to apply. |
[in] | flags | Flags specifying the kind of point cloud to be created. |
[in] | settings | Sensor settings applied during the acquisition of the range map. |
[in] | encoderStep | Encoder step. |
- Returns
- A pointer to the point cloud.
- Exceptions
-
Creates a new Cartesian 3D point cloud from the given 2.5D range map image with modified camera settings (typed).
The point cloud will automatically be converted to the given type.
- Attention
- If the the given type is a DensePointCloud, but the created point cloud actually would be a SparsePointCloud (applies to calibrators containing an affine matrix, which can be checked with LaserPlaneCalibrator3D::CorrectionOfLaserPlaneInclination and Calibrator3D::ExtrinsicMatrix), the point cloud will be converted with function SparsePointCloud::ToDensePointCloud. Be aware, that point clouds created with SparsePointCloud::ToDensePointCloud might have gaps! In general type DensePointCloud is not recommended for calibrators containing an affine matrix!
Creating a calibrated point cloud, the camera settings applied during the acquisition of the range map have to be known. Default settings are read from the calibrator loaded from a calibration file. If the actual settings differ from the default ones, the user has to set them and create a calibrated point cloud via function this function. You can get and check the default settings via LaserPlaneCalibrator3D::SensorSettings. The default encoder step can also be get from the calibrator via function LaserPlaneCalibrator3D::YFactor.
Depending on the calibration method the point cloud resulting from the untyped function PointCloudFactory::CreateWithSettings is a DensePointCloud or a SparsePointCloud. Note, that if this output point cloud is dense, the confidence layer is always available. Background range map pixels are set non-confident. In case of a sparse point cloud, points representing background values and also the confidence layer are removed (except the user explicitly wants to keep the confidence layer which can be requested via the point cloud flags).
Only range maps with floating point and unsigned integer DataType values are supported. For unsigned integer data types, the following DataType::BytesPerPixel values are supported: 1, 2 and 4. Note, that only linear access is supported (check with function ImagePlane::TryLinearAccess).
- Parameters
-
[in] | rangeMap | Handle of 2.5D image plane. |
[in] | calibrator | Calibration object to apply. |
[in] | flags | Flags specifying the kind of point cloud to be created. |
[in] | settings | Sensor settings applied during the acquisition of the range map. |
[in] | encoderStep | Encoder step. |
- Returns
- A pointer to the point cloud.
- Exceptions
-