- pc.Location are all [x,y,z] coordinates.
- idx is a logical vector identifying points in pc.Location that are in the bin
- section are the [x,y,z] coordinates within the bin.
Dividing the point cloud in 10x10 ways
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ahmet Selim Arslan
el 23 de Mzo. de 2021
Comentada: Ahmet Selim Arslan
el 11 de Abr. de 2021
Hello, my problem is that I am working on a 3-dimensional point cloud like in the title and I want to split it into 10x10 pieces over x and y. As I am new to Matlab, I didn't know how to do this for now.

0 comentarios
Respuestas (2)
Adam Danz
el 29 de Mzo. de 2021
Editada: Adam Danz
el 1 de Abr. de 2021
Load built-in pointcloud data and look at the pointcloud object pc
load('xyzPoints');
pc = pointCloud(xyzPoints)
X/Y/ZLimits are the range of x,y,z points. Create a 10x10 grid within the x and y ranges. The bounds are defined in xyBounds (nx2).
[x,y] = meshgrid(linspace(pc.XLimits(1), pc.XLimits(2), 10), ...
linspace(pc.YLimits(1), pc.YLimits(2), 10));
xyBounds = [x(:),y(:)]
Use indexing to access a particular section of points.
Get all points within the bin #n
n = 50; % 50th bin xyBounds(n,:)
xIdx = pc.Location(:,1) >= xyBounds(n,1) & pc.Location(:,1) < xyBounds(n+1,1);
yIdx = pc.Location(:,2) >= xyBounds(n+1,2) & pc.Location(:,2) < xyBounds(n,2);
idx = xIdx & yIdx;
section = pc.Location(idx,:)
Some bins will not have any points and will return a 0x3 empty matrix.
11 comentarios
darova
el 24 de Mzo. de 2021
see this example
clc,clear
x = rand(10,10,10);
y = rand(10,10,10);
z = rand(10,10,10);
ix = round(5*x);
iy = round(5*y);
plot3(x(:),y(:),z(:),'.b');
hold on
h = plot3(0,0,0,'or');
hold off
view(15,60)
for i = 1:5
for j = 1:5
ind = (i==ix) & (j==iy);
set(h,'xdata',x(ind))
set(h,'ydata',y(ind))
set(h,'zdata',z(ind))
pause(0.2)
end
end

4 comentarios
Ver también
Categorías
Más información sobre Point Cloud Processing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



