Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 彩色PCD查看器_C#_Rgb_Point Cloud Library - Fatal编程技术网

C# 彩色PCD查看器

C# 彩色PCD查看器,c#,rgb,point-cloud-library,C#,Rgb,Point Cloud Library,我想以.pcd文件格式()显示黄色的3D点。使用下面的C代码从黄色(R:255,G:255,B:0)检索PCD颜色格式 字节红色=255; 字节绿色=255; 字节蓝色=0; int rgb=((int)red)我不使用C#但是我相信从int到float的转换是保留值而不是位结构。i、 e.你不是在重新解释,而是在转换数字 搜索此网站,我相信您需要的是位转换器: 问题解决了。只需将PCD颜色结构与Integer一起使用,而不是Float(需要修改PCD文件结构以使用带整数的颜色)。通过这种方式,

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

字节红色=255;
字节绿色=255;
字节蓝色=0;
int rgb=((int)red)我不使用C#但是我相信从int到float的转换是保留值而不是位结构。i、 e.你不是在重新解释,而是在转换数字

搜索此网站,我相信您需要的是位转换器:


问题解决了。只需将PCD颜色结构与
Integer
一起使用,而不是
Float
(需要修改PCD文件结构以使用带整数的颜色)。通过这种方式,我不需要重新解释从
int
float
的转换,我还发现实际的颜色结果是相同的绿色和蓝色值,但红色值小于128。您如何设置点的颜色?i、 e.在上面,您计算颜色,但未设置点的颜色。那么您是否再次保存到PCD?是的。我将点保存到PCD文件,如(x、y、z、颜色)。例:1001001001.677696E+7。很明显,您打印的浮点值与int值相同,但不应相同。如果位结构相同,那么您将得到一个非常不同的值,因为解释为浮点的位字符串与解释为int的相同位字符串非常不同。
 byte red = 255;
 byte green = 255;
 byte blue = 0;
 int rgb = ((int)red) << 16 | ((int)green) << 8 | ((int)blue);
 float rgb2 = (float)rgb;