我希望以.pcd
文件格式(Documentation of .pcd)显示黄色的3D点。使用下面的C#代码从黄色中检索PCD颜色格式(R:255,G:255,B:0)。
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查看器显示点,但颜色不是我所期望的黄色?
观众有什么不对吗?
答案 0 :(得分:1)
我不使用C#,但我相信从int到float的转换是保留值而不是位结构。即你没有进行重新解释,但实际上是在转换数字。
搜索本网站,我相信您需要的是BitConverter:
答案 1 :(得分:0)
问题解决了。只需使用Integer
代替Float
的PCD颜色结构(需要修改PCD文件结构以使用Integer颜色)。这样我就不需要重新解释从int
转换为float
。