How do I directly covert a depth image to 3-D point cloud?

21 visualizaciones (últimos 30 días)
John Wray
John Wray el 26 de Mayo de 2016
Editada: DGM el 20 de Feb. de 2023
Hi,
I could use pcfromkinect() function to convert depth data from kinect device into 3-D cloud points.
But how could I convert the depth matrix that had already extracted from kinect into 3-D cloud points ?
I mean, pcfromkinect() seems only works from device to 3d points cloud, not matrix to cloud.
  2 comentarios
jenny jenny
jenny jenny el 15 de Oct. de 2017
did you get the answer, because i have the same problem
Simon Cool
Simon Cool el 23 de En. de 2018
Movida: DGM el 20 de Feb. de 2023
Same problem!

Iniciar sesión para comentar.

Respuestas (3)

Marten J
Marten J el 5 de Nov. de 2018
I had the same problem. I could solve it through a double for-loop... but it's not the most efficient way:
if true
A = double(depthImage);
n=0;
[s1 s2] = size(A);
for i = 1:s1
for j = 1:s2
n = n+1;
Punkte(n,1) = i;
Punkte(n,2) = j;
Punkte(n,3) = A(i,j);
end
end
end
so I calculated the depthImage in the Pointcloud matrix [x-vector, y-vector, z-vector] but it takes some time.
Also only the Z-Value is in the metric system... the x and y- values stay in the Pixel system... to transform then in the Objekt-coordinate system you need the calibration and the Collinearity equations.

Preetham Manjunatha
Preetham Manjunatha el 5 de Oct. de 2022
This link can help to convert RGB-D images to point cloud, provided the camera intrinsic parameters.

Birju Patel
Birju Patel el 17 de Nov. de 2022
pcfromdepth has been added to Computer Vision Toolbox in R2022b:

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!

Translated by