필터 지우기
필터 지우기

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

조회 수: 21 (최근 30일)
KEDI YAN
KEDI YAN 2020년 1월 6일
답변: Vishal Jadhav 2022년 3월 14일
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