In CVB point clouds can be created in the following ways:
All the relevant functions for these operations can be found either in the point cloud factory or the point cloud classes:
Cvb::PointCloudFactory
Stemmer.Cvb.PointCloud
, Stemmer.Cvb.SparsePointCloud
, Stemmer.Cvb.DensePointCloud
cvb.PointCloudFactory
A point cloud can be simply loaded from or saved to a file by the following call:
If you know whether the point cloud is an un-organized sparse or an organized dense point cloud at the time of loading, you can specify the type as as follows:
Note, that un-organized dense point clouds can only be loaded from and saved to TIFF or PCL files (see section below). In Python, the specific point cloud type is directly returned by cvb.PointCloudFactory.load
.
The following point cloud file formats are supported:
Format | Extension(s) | Supported Point Cloud Type | ||
---|---|---|---|---|
Cvb::DensePointCloud | Cvb::SparsePointCloud | Cvb::Mesh | ||
Polygon File Format | ply | x | ✓ | ✓ |
Stereo Lithography | stl | x | ✓ | ✓ |
Wavefront | OBJ, obj | x | ✓ | ✓ |
ASCII | asc, pts, txt, xyz | x | ✓ | x |
TIFF | tif, tiff | ✓ | ✓ | x |
PCL Format | pcd | ✓ | ✓ | x |
Additional notes:
PointXYZ
, PointXYZI
, PointXYZRGB
, PointXYZNormal
. If the point cloud contains additional layers, only X,Y and Z coordinates are read. PCD files without XYZ coordinates are not supported.Cvb::Image::Load
and convert it to point cloud (refer to the section Creating a Calibrated Point Cloud with CVB).In CVB, several functions are available for creating a point cloud by specifying the data type and size. These functions can be found either in the point cloud factory or the point cloud classes:
Cvb::PointCloudFactory
Stemmer.Cvb.PointCloud
, Stemmer.Cvb.SparsePointCloud
, Stemmer.Cvb.DensePointCloud
cvb.PointCloudFactory
Acquiring range maps via a laser triangulation system requires calibration to obtain metric X, Y, and Z coordinates. Similarly, Area3D sensors that provide height maps (referred to as Zmaps) need to be converted into metric coordinates. A guide on how to perform these tasks with CVB can be found in the section Creating a Calibrated Point Cloud with CVB.