RecFusion SDK
RecFusion SDK Documentation

Introduction

The RecFusion SDK allows to perform GPU-based real-time 3D reconstruction from RGB-D data. Classes for accessing RGB-D sensors are provided as well as classes for recording and loading RGB-D data from disk. The resulting meshes can be post-processed and exported to standard mesh formats. Both single-sensor and multi-sensor reconstruction are supported.

The SDK is made up of the following main classes:

  • Sensor for accessing RGB-D sensors supported by RecFusion
  • RFSPlayback for reading RFS-sequences including those created by the standalone RecFusion application
  • RFSRecorder for writing RFS-sequences. These sequences can also be loaded by the standalone RecFusion application
  • Reconstruction for performing the reconstruction and generating the mesh
  • Mesh for exporting and post-processing the mesh
  • MeshViewer for displaying the mesh on screen
  • Calibration for calibrating multi-sensor setups
  • RecFusionSDK for license management and global settings

In your application you will typically first generate a Sensor object by instantiating the SensorManager class and calling sensor on it. Then you would open the sensor by calling open on it. You can acquire the next available frame by calling readImage. The obtained frame data is then passed to the addFrame method of a Reconstruction object which you instantiate with a ReconstructionParams structure. The addFrame method will optionally provide an image of the current reconstruction result rendered from the current camera viewpoint. You can use this image to visualize the state of the reconstruction. Once you've added the desired number of frames you can obtain the mesh by calling getMesh on the Reconstruction object. The returned Mesh object allows you to export and post-process the mesh. When done you have to delete the Mesh object and call close on the Sensor object.

Installation

During installation the environment variable RECFUSION_SDK is set to point to the RecFusion SDK root folder. You can use this variable to easily reference the SDK in your projects. To use the RecFusion SDK in your application, add "$(RECFUSION_SDK)\include" the include path and "$(RECFUSION_SDK)\lib" to the lib path of the project settings and include RecFusion.lib in the linker settings.

Licensing

In order to export the generated mesh you will need to obtain a RecFusion license. Licenses can be bought from http://www.recfusion.net and are node-locked to a single PC. After purchasing a license you will obtain a license key which you need to activate by calling RecFusion::RecFusionSDK::activate.

Sample programs

There are four sample applications included with the SDK. They are located in the samples folder of the installation folder. The ConsoleReconstruction sample is a basic console application which captures a fixed number of frames, reconstructs the scene and saves the result. The QtReconstruction sample is a graphical application using the Qt 5 framework (http://www.qt.io). It displays the captured images and the live reconstruction result. To start the reconstruction in the QtReconstruction application press F5, to stop press F6. To build the application you need to define the environment variable QTDIR to point to your Qt 5.7 directory (download from https://download.qt.io/archive/qt/5.7/5.7.0/). The MultiViewReconstruction sample shows how to calibrate and reconstruct using multiple sensors. The RealSenseReconstruction sample shows how to perform reconstruction using RealSense sensor. This example is meant to show the workflow when using your own RGB-D sensor without using our Sensor interface. To build the applications that employ RealSense sensors, you need to define the environment variable REALSENSEDIR to point to your librealsense 2.39.0 directory (download from https://github.com/IntelRealSense/librealsense/releases/tag/v2.39.0).

Support

If you need support for the RecFusion SDK please use or Forum at https://forum.imfusion.com/c/recfusion/17. If you need a license-related support, please contact us via email at licen.nosp@m.se@r.nosp@m.ecfus.nosp@m.ion..nosp@m.net.

Search Tab / S to search, Esc to close