How to generate a point cloud based on the set of data I have?

21 次查看(过去 30 天)
So far I have four set of data:
l=110;
x = [3,3,3,3,3,3,3,3];
y = [-l*sind(0),-l*sind(1),-l*sind(2),-l*sind(3),-l*sind(4),-l*sind(5),-l*sind(6),-l*sind(7)];
z = [l-l*cosd(0),l-l*cosd(1),l-l*cosd(2),l-l*cosd(3),l-l*cosd(4),l-l*cosd(5),l-l*cosd(6),l-l*cosd(7)];
value = [-12.829,-13.591,-16.019,-20.054,-21.29,-22.542,-26.333,-30.121];
Each index of value corresponds to that index of xyz, for example, value[0] corresponds to (x[0],y[0],z[0]).
How do I generate a point cloud based on these data I have?

采纳的回答

Meg Noah
Meg Noah 2020-1-7
I don't have that Computer Vision System Toolbox, but try this:
l=110;
x = [3,3,3,3,3,3,3,3];
y = [-l*sind(0),-l*sind(1),-l*sind(2),-l*sind(3),-l*sind(4),-l*sind(5),-l*sind(6),-l*sind(7)];
z = [l-l*cosd(0),l-l*cosd(1),l-l*cosd(2),l-l*cosd(3),l-l*cosd(4),l-l*cosd(5),l-l*cosd(6),l-l*cosd(7)];
value = [-12.829,-13.591,-16.019,-20.054,-21.29,-22.542,-26.333,-30.121];
ptCloud = pointCloud([x' y' z'],'intensity',value);
pcshow(ptCloud);
  3 个评论
KEDI YAN
KEDI YAN 2020-1-7
QQ截图20200107134335.jpg
I fixed that issue, but then the code still does not work. I really do not understand what xyzPoints should be.
KEDI YAN
KEDI YAN 2020-1-9
A little bit change could fix the issue. Here I post the correct syntax.
ptCloud = pointCloud([x(:),y(:),z(:)],'Intensity',value(:));

请先登录,再进行评论。

更多回答(1 个)

Vishal Jadhav
Vishal Jadhav 2022-3-14
It worked

类别

Help CenterFile Exchange 中查找有关 Point Cloud Processing 的更多信息

产品


版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by