BAS*_*SAN 1 matlab ply point-clouds matlab-cvst
我有一个层图像。我想根据我的要求给它上色。1.来自kinect的(.ply)图像 2.更改云中所有点的rgb值
例如
.ply 图像,其中云中的所有点均为黄色或蓝色。我已经能够使用Matlab命令“scatter3”显示它,但也想通过Matlab的“pcwrite”功能将彩色点云保存为新的点云。
小智 5
为了正确回答这个问题,我应该知道您使用的是哪个版本的 Matlab。如果你使用Matlab 2015a,你应该有这三个函数
假设您的图像名为“airplane.ply”。要正确使用它,您首先使用以下命令读取图像:
ptCloud = pcread('airplane.ply')
Run Code Online (Sandbox Code Playgroud)
然后你会注意到 ptCloud 有不同的字段。其中之一与颜色有关,并且是您必须更改的颜色。为此,您必须为云中的每个点指定颜色。所以:
pointscolor=uint8(zeros(ptCloud.Count,3));
pointscolor(:,1)=255;
pointscolor(:,2)=255;
pointscolor(:,3)=51;
Run Code Online (Sandbox Code Playgroud)
因为 [255 255 51] 是黄色。然后将此矩阵分配给 ptCloud.Color。
ptCloud.Color=pointscolor;
Run Code Online (Sandbox Code Playgroud)
查看结果:
pcshow(ptCloud)
Run Code Online (Sandbox Code Playgroud)
并保存文件:
pcwrite(ptCloud,'ptCloud.ply')
Run Code Online (Sandbox Code Playgroud)
其中“ptCloud.ply”是您要分配给文件的名称。