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

32 views (last 30 days)
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:
[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?

Accepted Answer

Dima Lisin
Dima Lisin on 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.

Sign in to comment.

More Answers (2)

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

Preetham Manjunatha
Preetham Manjunatha on 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