I have a ply image. I want to color it according to my requirement. 1. (.ply) image from kinect 2. Change the rgb value of all point in cloud
e.g
.ply image where all points in the cloud are to be in yellow or blue color. I have been able to display it using Matlab command "scatter3" but also want to save the colored point cloud as a new point cloud by "pcwrite" function of Matlab.
答案 0 :(得分:4)
要正确回答这个问题,我应该知道你使用的是哪个版本的Matlab。如果你使用Matlab 2015a,你应该有这三个功能
让我们说你的形象被称为" airplane.ply"。 要正确使用它,请先使用以下方法阅读图像:
ptCloud = pcread('airplane.ply')
然后你会注意到ptCloud有不同的字段。其中一个是颜色,是你必须改变的颜色。为此,您必须为云中的每个点指定颜色。所以:
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'是您要分配给文件的名称。