pcd文件中的格式为x y z rgb而不是分开的r g b,所以在原数据的基础上要进行变形,
由r g b得到rgb(float):int rgb = ((int)r << 16 | (int)g << 8 | (int)b); 式中的“<<”为左移符号;
由rgb得到r g b(int):int r = (rgb >> 16) & 0x0000ff;
int g = (rgb >> 8) & 0x0000ff;
int b = (rgb) & 0x0000ff;
一个自己写的例子:

本文介绍如何将包含RGB值的数据转换为pcl::PointXYZRGB点云格式,并保存为pcd文件,然后使用PCL库进行点云显示。通过将r g b转换为rgb(float),并利用PCL的io和可视化功能实现点云的读取与展示。
最低0.47元/天 解锁文章
305

被折叠的 条评论
为什么被折叠?



