Today's project from Edgar Maass shares one of the favorite things people like to do with the Kinect for Windows, create Point Clouds. His latest update upgrades the project for the Kinect for Windows v2 device and more...
The goal of this article is to extract a point cloud using the Microsoft Kinect v2 sensor, visualize it using the VTK toolkit, save it for printing or further work (e.g. using Meshlab)
Introduction, Quick Start
-A Kinect v2 sensor
-The Microsoft Kinect V2 SDK version 2.0 installed
-Visual Studio 2012 or higher
- Start the program KinectPointCloud.exe
- Check the checkbox "Save if depth frame ..."
- Click on „Capture“ – see below
- Hold still in front of the sensor while scanning.
Capture will stop when the image quality is high – „Depth OK…“ is over 45% - see below
- Click on „Show Point Cloud“ to open the point cloud
- View the point cloud with or without color info
- Open the point cloud for further editing in external tools like MeshLab (either the .ply file -contains color info - or the .xyz file)
Other source code used
Different open source code is used within the project
-parts of the Microsoft Samples contained within the Kinect SDK
-The VTK library by means of the C# wrapper Activiz: Link
-parts of the code of Vangos Pternas from his Codeproject article: Article:Link
Grabbing the Data with Kinect
Extracting a point cloud from the Kinect by using the standard Microsoft sample code gives quite poor results – e.g. up to 30% of the depth frame points miss depth information. Either the depth is zero or there are artefacts on the depth image which occur from low depth precision
Improve depth quality
The depth statistics is only valid if the target and the scanner do not move.
If large movements occur, the percentage values may not add to 100% total. The reason is that the depth points cut out of the image are different if the sensor or the scan target move.
A point cloud can be scanned with acceptable quality using the Microsoft Kinect v2 camera if one uses the procedures described in this article like image interpolation and saving the point cloud only if the depth precision is high.
The code and all information of this article may be used in any application as long as you cite this article in the acknowledgements.
Project Information URL: http://www.codeproject.com/Articles/824882/Kinect-v-Point-Cloud
Project Source URL: http://www.codeproject.com/Articles/824882/Kinect-v-Point-Cloud