彩色PCD查看器

本文关键字:PCD 彩色 | 更新日期: 2023-09-27 18:28:21

我想以.pcd文件格式(.pcd的文档)显示黄色的3D点。使用下面的C#代码从黄色(R:255,G:255,B:0)中检索pcd颜色格式。

 byte red = 255;
 byte green = 255;
 byte blue = 0;
 int rgb = ((int)red) << 16 | ((int)green) << 8 | ((int)blue);
 float rgb2 = (float)rgb;

则返回的值为rgb2 = 1.677696E+7

并将点保存到PCD文件中,如(x, y, z, 1.677696E+7)

我使用PCD查看器来显示点,但颜色不是我预期的黄色?

观众有什么问题吗?

彩色PCD查看器

我不使用C#,但我相信从int到float的强制转换是为了保留值,而不是位结构。也就是说,您不是在重新解释强制转换,而是在实际转换数字。

搜索这个网站,我相信你将需要的是BitConverter:

两个C#问题;如何重新解释将float转换为int?C#是否有非静态转换运算符或用户定义的赋值运算符,以便在';这个';?

问题解决了。只需将PCD颜色结构与Integer一起使用,而不是与Float一起使用(需要修改PCD文件结构以使用带有Integer的颜色)。这样,我就不需要重新解释从intfloat的转换。