从 PCD 文件中解压点云的 RGB 值

2023-12-25

我保存了类型的点云PointCloud<PointXYZRGB>在 ASCII PCD 文件中。以下是该文件的一部分 -

# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z rgb
SIZE 4 4 4 4
TYPE F F F F
COUNT 1 1 1 1
WIDTH 38603
HEIGHT 1
VIEWPOINT 0 0 0 1 0 0 0
POINTS 38603
DATA ascii
1.4766392 -0.82155049 -0.0032610297 1.7976693e-38
1.4766392 -0.81364399 -0.0032610297 1.7884862e-38
1.4766392 -0.80577451 -0.0032610297 1.78845e-38
1.476639 -0.79794157 -0.0032609701 1.7607545e-38
1.476639 -0.79014462 -0.0032609701 1.7883416e-38
1.476639 -0.78238314 -0.0032609701 1.7791942e-38
1.476639 -0.77465671 -0.0032609701 1.769975e-38
1.476639 -0.76696479 -0.0032609701 1.6409733e-38
1.476639 -0.75930673 -0.0032609701 1.6593762e-38

根据文档 http://docs.pointclouds.org/1.7.0/structpcl_1_1_point_x_y_z_r_g_b.html of PointCloud<PointXYZRGB>,颜色值可以根据下面给出的公式进行解包 -

// unpack rgb into r/g/b
uint32_t rgb = *reinterpret_cast<int*>(&p.rgb);
uint8_t r = (rgb >> 16) & 0x0000ff;
uint8_t g = (rgb >> 8)  & 0x0000ff;
uint8_t b = (rgb)       & 0x0000ff;

我手动尝试在单独的代码中解压缩 的颜色值,发现所有颜色值均为黑色。下面是代码片段——

#include <iostream>

int main()
{
    uint32_t rgb = 2.2949836e-38;
    uint8_t r = (rgb >> 16) & 0x0000ff;
    uint8_t g = (rgb >> 8)  & 0x0000ff;
    uint8_t b = (rgb)       & 0x0000ff;

    printf("rgb=%d, r=%d, g=%d, b=%d", rgb, r, g, b);
    return 0;
}

下面是输出 -

rgb=0, r=0, g=0, b=0 

我的目标是解压 PCL 中定义的 RGB 颜色。请注意,我使用的是 PCL 1.7.1。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 PCD 文件中解压点云的 RGB 值 的相关文章

随机推荐

  • 图中的颜色点根据值向量的不同而不同

    我正在使用 R 绘制下图plot 功能 这是一个向量图shiftTime的时间转变 我有另一个向量intensity强度值范围从 3到 9 我想根据具有颜色渐变的这些值对图中的点进行着色 在示例中 我可以在实际绘制点的值上找到颜色 因此在本
  • 如何让 Knockout.js 设置属性的命名空间 URI?

    在 svg 中 如果我使用淘汰赛来设置xlink href属性为a节点 属性的命名空间设置不正确 因此a单击时不能用作链接 例如 请考虑以下包含两个链接的椭圆的 svg 有其一xlink href属性是硬编码的 另一个是通过淘汰赛设置的da
  • 在discord.py中我该如何制作才能使机器人仅在一台服务器上工作

    在discord py 中 我该如何让机器人只在一个上运行 有没有办法做到这一点 x channel id if x 12454431344645423 this is the channel id print hi 最简单的方法是不将其添
  • 如何确定 cv::Mat 是否为零矩阵?

    我有一个根据以下代码动态更改的矩阵 for It all frames begin It all frames end It ItTemp It subtract ItTemp Base NewData cout lt lt The siz
  • Android ArrayAdapter 和 JSONArray

    我是 Android 开发新手 考虑到 JSON Carrier 相对于 XML 的轻便性 我纯粹喜欢在我的简单应用程序中使用 JSON 对象和数组 我在使用 ArrayAdapter 填充 ListView 时遇到了挑战 这就是我克服的方
  • 对于 Scala 来说,类型擦除有什么优点吗?

    我听说过很多关于不同 JVM 语言的信息 这些语言仍处于蒸气软件模式 建议以某种方式实现具体化 我有一个半记得的 或者完全想象的 不知道是哪一个 的想法 我在某处读到 Scala 以某种方式利用 JVM 的类型擦除来完成具体化无法完成的事情
  • Android Wear 5.1 手腕手势 API?

    适用于可穿戴设备的 Android 5 1 1 引入了通过旋转 轻拂手腕来关闭通知的功能 这个API是否暴露给开发者使用 我无法找到任何相关信息 并且他们的可穿戴设备开发人员网站似乎没有更新 不 目前没有适用于 Wear 1 0 设备的手腕
  • 如何在Silverlight Image控件上显示TIFF(以Byte[]的形式)

    我创建了一个窗口服务 将所有 TIFF 文件放入数据库并将它们存储为Byte 现在我希望能够通过Silverlight Image控件来显示它们 所以我在绑定 XAML 期间使用转换器来转换Byte to Bitmap因为Image Sou
  • Delphi - 从类和接口继承(适配器模式)?

    我正在尝试执行 GoF 适配器模式 在 C 示例中 我遵循的 Adapter 类继承了原始类和一个适配接口 据我所知 在Delphi 2007 中 这是不可能的 或者是吗 因为如果一个类继承一个接口 它需要从 TInterfacedObje
  • Strawberry Perl v5.30.0 无法安装 Tcl (Windows 10)

    我从下载并安装了草莓 perl 5 30 0 1 64bit msi草莓perl com http strawberryperl com 在我的 Windows 10 上并尝试使用 cpan 安装 Tcl 模块 但由于缺少 tclsh 而失
  • 通过预定义的静态地址访问寄存器在 C++ 中是未定义的行为吗?

    我正在编译一个 C 程序以在独立环境中运行 并且我正在运行的 CPU 定义了一个可用的 32 位外设寄存器 编辑 内存映射 at PERIPH ADDRESS 正确对齐 并且不与任何其他 C 对象 堆栈等重叠 我编译以下代码PERIPH A
  • cmake、add_custom_command 以及来自不同目录的依赖项

    我有一个关于 CMake 的问题 这似乎是这里常见的问题 但没有一个答案似乎能解决我的问题 In the details子目录下有一个CMakeLists txt其中包含 add custom command OUTPUT part out
  • gforth 出错,libtool 编译失败

    我正在尝试跑步gforth与Rosetta 代码上的 Echo 服务器 https rosettacode org wiki Echo server 但是我得到以下信息 sh 1 libtool not found in file incl
  • 从 GridView 发起的 ContextMenu

    只是想知道是否有人可以帮助解决这个问题 我正在学习但无法弄清楚 如果我使用上下文菜单注册 GridView 对象 如下所示 registerForContextMenu gridview 如何确定菜单是从网格中的哪个视图对象 方块启动的 任
  • iOS:使用 iPad 键盘的 Enter 键进行操作

    我有两个文本字段 在第一个文本字段中我写 Hello 当我在 iPad 键盘中按 Enter 时 我希望在第二个文本字段中出现 World 如何使用 Enter 在我的应用程序中创建操作 您通常会将视图控制器指定为文本字段的委托 然后实现t
  • spring-boot 在单个 Web 应用程序路径上设置基本身份验证?

    我正在尝试在基于 spring boot spring MVC 的应用程序中设置单个路径 basic 以进行基本身份验证保护 我将使用我自己的自定义配置参数进行配置 因此用户名和密码只是 admin 和 admin 目前这适用于 basic
  • 如何微调Spring Cloud Feign客户端?

    春天的云doc http projects spring io spring cloud spring cloud html says 如果 Hystrix 在类路径上 默认情况下 Feign 将包装所有方法 带断路器 这很好 但是如何配置
  • 无法区分 Rspec 的“let”与“let!”

    我已阅读rspec 文档 https www relishapp com rspec rspec core docs helper methods let and let并搜索了许多其他地方 但我很难理解 Rspec 之间的区别let an
  • 设置 Matplotlib 颜色条大小以匹配图形

    I cannot get the colorbar on imshow graphs like this one to be the same height as the graph short of using Photoshop aft
  • 从 PCD 文件中解压点云的 RGB 值

    我保存了类型的点云PointCloud