3d point cloud into voxel grid

30 Ansichten (letzte 30 Tage)
Sven Hecker
Sven Hecker am 3 Jan. 2022
Kommentiert: Sven Hecker am 4 Jan. 2022
Hey guys,
i tried to convert a pointcloud of a room created with a laser scanner into a voxel grid, where i can define the size of the voxels like 0.5x0.5x0.5 or even bigger or smaller and then just display all voxels with points from the pointcloud in it.
i tried to use the plotcube.m function in combination with an for loop where i increase the coordinates of the cube like x=0:0.5:18 (where 18 is round about the highst value for x when i plot my pointcloud with scatter3. so i have a loop:
for x=0:0.5:18
for y=0:0.5:35
for z=0:0.5:13
if = 'pointcloudroom.txt' with value
function plotcube (varagin)
end
end
end
but i don't get behind the "if = 'pointcloudroom.txt' with value" part. I tried to extract the values from a matrix with readmatrix but it didn't work.
any suggestions?
  2 Kommentare
Matt J
Matt J am 3 Jan. 2022
Please attach sample point cloud data in a .mat file, so that we can demonstrate solutions.
Sven Hecker
Sven Hecker am 3 Jan. 2022
i attched the pointcloudroom.txt :)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 3 Jan. 2022
Bearbeitet: Matt J am 3 Jan. 2022
load data
voxelsize=0.5;
for i=1:3
tmp=xyz(:,i);
edges=min(tmp):voxelsize:max(tmp)+voxelsize;
xyz(:,i)=discretize( tmp , edges);
end
V=accumarray(xyz,1)>0;
volumeViewer(V);
  8 Kommentare
Walter Roberson
Walter Roberson am 3 Jan. 2022
Windows Software OpenGL support does not meet the minimum requirement of this app.
That message can occur when you use remote access such as Terminal Services to a Windows machine, or when you run Windows in a Virtual Machine (I think).
Sven Hecker
Sven Hecker am 4 Jan. 2022
oh, yes I'm using remote access to my university account....

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 3 Jan. 2022
In particular, the variable occupied in that code is the binary occupancy grid. The code there also plots the cubes.
The code there is intended to be able to handle different classes and figure out the majority occupancy for any given voxel, and color appropriately. It does indeed figure out the majority occupancy, but as yet I am having trouble with the colorization.

Community Treasure Hunt

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

Start Hunting!

Translated by