首页 文章

颜色点 Cloud - Matlab [关闭]

提问于
浏览
1

我有一个片状图像 . 我想根据我的要求给它上色 . 1.(.ply)来自kinect的图像2.更改 Cloud 中所有点的rgb值

例如

.ply图像,其中 Cloud 中的所有点都是黄色或蓝色 . 我已经能够使用Matlab命令“scatter3”显示它,但也希望通过Matlab的“pcwrite”函数将彩色点 Cloud 保存为新的点 Cloud .

1 回答

  • 4

    要正确回答这个问题,我应该知道你使用的是哪个版本的Matlab . 如果你使用Matlab 2015a,你应该有这三个功能

    • pcread读取3D点 Cloud (.ply文件);

    • pcshow显示3D点 Cloud ;

    • pcwrite写一个.ply文件 .

    假设你的图像叫做“airplane.ply” . 要正确使用它,请先使用以下方法读取图像:

    ptCloud = pcread('airplane.ply')
    

    那么你会注意到ptCloud有不同的字段 . 其中一个是颜色,是你必须改变的颜色 . 为此,您必须为 Cloud 中的每个点指定颜色 . 所以:

    pointscolor=uint8(zeros(ptCloud.Count,3));
    pointscolor(:,1)=255;
    pointscolor(:,2)=255;
    pointscolor(:,3)=51;
    

    因为[255 255 51]是黄色 . 然后将此矩阵分配给ptCloud.Color .

    ptCloud.Color=pointscolor;
    

    看结果:

    pcshow(ptCloud)
    

    并保存文件:

    pcwrite(ptCloud,'ptCloud.ply')
    

    其中'ptCloud.ply'是您要分配给文件的名称 .

相关问题