1,属性映射:PointCloudColorHandlerGenericField
主要作用是针对点云的属性,进行彩色映射。
cl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZI> handler(cloud_tif,"z");
这里的‘‘z’’填入的是点云的属性。比如pointxyzi,就可以是‘‘x’’,"y","z","intensity",对这几个属性都是可以完成映射的,而且不用进行0-1的归一化非常方便
2,pcl::visualization::PointCloudColorHandlerRGBField
主要是针对rgb的color彩色进行显示。用起来就比较方便了。针对pointxyzrgb点云。
3,pcl::visualization::PointCloudColorHandlerCustom
为你的点云设置一个你喜欢的颜色。注意这里的输入是rgb的三个值,也就是说设置完后,点云的单色点云。
4,自己写一个函数自己映射。然后用rgb进行显示
struct RGB { uint8_t r, g, b; }; RGB gray2rgb(uint8_t v) { return RGB{ v, // R uint8_t(v < 128 ? v * 2 : 255 - (v - 128) * 2), // G uint8_t(255 - v) }; // B }