#include<iostream> using namespace std; void main() { //--------------PCD文件RGB字段的拆包和加包------------ //加包(已知RGB,求float) int r=109,g=114,b=134; int rgb = ((int)r << 16 | (int)g << 8 | (int)b); float frgb = *reinterpret_cast<float*>(&rgb); cout<<"frgb="<<frgb<<endl <<"rgb="<<rgb<<endl <<"r="<<r<<endl <<"g="<<g<<endl <<"b="<<b<<endl; //拆包(已知float,求RGB) int nrgb = *reinterpret_cast<int*>(&frgb); int nr = (nrgb >> 16) & 0x0000ff; int ng = (nrgb >> 8) & 0x0000ff; int nb = (nrgb) & 0x0000ff; cout<<"frgb="<<frgb<<endl <<"nrgb="<<rgb<<endl <<"nr="<<r<<endl <<"ng="<<g<<endl <<"nb="<<b<<endl; }
XYZRGB型的PCD文件数据格式为
X Y Z rgb
前三个都好说,最后一个rgb是用一个float来表示的,原本存储三个颜色信息的数值用一个数据来表示,明显是用到了位储存,所以考虑位操作。做了一个简单的VC程序,不做多的解释。
运行结果:
相关推荐
适用于three.js显示pcd模型文件,找不到pcd文件
这里面包含了很多数据集,有buliding\horse\pig\rabbit\table\wolf等点云pcd文件,感兴趣的可以下载。
pcd格式点云样例文件,参考说明:https://blog.csdn.net/suiyingy/article/details/124018553。
用于PCD点云文件的查看器,支持拖动文件到软件窗口,打开PCD点云文件并显示
pcl库中完整的pcd文件,包括龙、弥勒佛、兔子以及一些场景数据
附件是公共交通环境的pcd文件,将planning_simulator,替换到这个文件中,运行效果见result_pic。
支持j将velodynelidar采集的点云数据转化为常用的pcd或ply格式进行处理。
2个常见pcd文件下载,ascii格式,亲测可以使用
本代码包含两个小程序,分别实现点云pcd文件转化成txt文件,以及txt文件转化成pcd文件,均测试可用
pcl读取pcd文件测试示例 cloud_view_test.cpp CMakeLists.txt five_people.pcd
从3个方向用kinect扫描的人体模型的pcd文件
包含PCL官网点云分割教程中已经失效无法下载的pcd文件。
将txt格式的文件转化为pcd格式,可以包含rgb信息,方便初学者理解,前提是把pcl配置好,在VS平台
将ply点云文件转换为pcd文件,因为pcl库函数的关系,对处理pcd文件比较好,所以也是比较实用的
使用PointCloudLibrary加载pcd文件,编译工具使用vs2019,使用CMake生成的vs工程,完全可以运行
文件里面包含多个pcl中使用pcd文件,其中还包含了一个简单的显示程序供参考。可以供pcl测试用,注意只有pcd数据,没有ply数据,下载时要注意。
该压缩包内存储的是mems类型激光雷达采集的点云数据,含有多个pcd文件,可以用于点云分析和处理使用。点云数据是在日常户外场景采集,包含常见的人,机动车,非机动车等交通参与者。
pcd文件点云数据刚体变换,可绕x,y,z轴旋转一定角度 + 平移 运行速度快
包括斯坦福兔子点云、飞机点云、forest点云数据和其他PCD格式的点云数据。
斯坦福兔子(两个角度)和房间的点云的pcd文件