【问题标题】:how to represent distance information from 3d camera with RGB如何用 RGB 表示来自 3d 相机的距离信息
【发布时间】:2018-04-08 19:56:40
【问题描述】:

我从 3D 传感器得到一个距离矩阵,我如何用不同的颜色 (RGB) 表示距离信息。例如,红色表示近距离,绿色表示中等距离,蓝色表示远距离。

【问题讨论】:

    标签: 3d kinect point-cloud-library


    【解决方案1】:

    只需将点复制到 PointXYZRGB 云中,但根据您的范围值设置 r、g、b 值。就像这样:

    pcl::PointCloud<pcl::PointXYZRGB>::Ptr pointCloudXYZItoXYZRGB(const pcl::PointCloud<pcl::PointXYZI>::Ptr in)
    {
        pcl::PointCloud<pcl::PointXYZRGB>::Ptr out(new pcl::PointCloud<pcl::PointXYZRGB>);
        // Fill in the cloud data
        out->width = in->width;
        out->height = in->height;
        out->is_dense = false;
        out->points.resize(in->width * in->height);
    
        for (size_t i = 0; i < in->points.size(); ++i)
        {
            out->points[i].x = in->at(i).x;
            out->points[i].y = in->at(i).y;
            out->points[i].z = in->at(i).z;
    
            if (out->points[i].y > 5)
            {
                 out->points[i].r = 255;
                 out->points[i].g = 0;
                 out->points[i].b = 0;
            } //etc
        }
    
        return out;
    }
    

    【讨论】:

      【解决方案2】:

      在 MATLAB 中使用颜色图。假设您的深度数据存储在 16 位单通道图像中,请使用以下代码。

      im=imread(‘pathtoyourimage’)
      clrd=ind2rgb(im, jet(2^13))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-20
        • 1970-01-01
        • 2020-05-17
        • 2019-11-23
        • 2023-03-26
        • 1970-01-01
        • 2023-02-02
        • 1970-01-01
        相关资源
        最近更新 更多