generate a point cloud from a given depth image-matlab Computer Vision System Toolbox

9 vues (au cours des 30 derniers jours)
I have purchased Computer Vision System Toolbox. I am given 400 of depth images (.PNG images). I would like to create a point cloud for each image. I looked at the documentation of Computer Vision System Toolbox, and there is an example of converting depth image to point cloud: http://uk.mathworks.com/help/vision/ref/depthtopointcloud.html
[xyzPoints,flippedDepthImage] = depthToPointCloud(depthImage,depthDevice)
depthDevice = imaq.VideoDevice('kinect',2)
but the thing that I don't understand is that it requires Kinect camera and connection. I am not connecting to Kinect, I don't have Kinect, I am just given the output of Kinect which are the depth images.
how to make use of the function(depthToPointCloud) in the toolbox in generating cloud points from already given depth images without connecting to Kinect camera?

Réponse acceptée

Dima Lisin
Dima Lisin le 7 Oct 2015
If all you have is a depth map, you cannot convert it into a point cloud, without knowing the parameters of the camera that was used to obtain it. depthToPointCloud needs a Kinect, because it assumes that the depth map came from the Kinect, and it uses Kinect's calibration parameters to get the 3D coordinates.
Alternatively, there is a reconstructScene function, which produces a point cloud from a stereo disparity map obtained from a calibrated stereo pair of cameras.
So, you would need to find out what device was used to generate your depth map, and what the parameters of that device are.
  3 commentaires
Dima Lisin
Dima Lisin le 2 Mar 2016
Sorry, I didn't really think it through.
In theory, it can work, because depth is inversely proportional to disparity. In practice, it would be difficult, because you would have to somehow "fake" parameters of a stereo camera, to convert depth into disparity, and to create a stereoParameters object.
jenny jenny
jenny jenny le 12 Oct 2017
@mat any answer, i have the same problem please help

Connectez-vous pour commenter.

Plus de réponses (2)

Vincent
Vincent le 10 Nov 2015
This code is used to generate point cloud from depth image, which captured by Kinect

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

Community Treasure Hunt

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

Start Hunting!

Translated by