libfreenect2 0.4
Open source driver for the Kinect for Windows v2 (K4W2) sensor
Loading...
Searching...
No Matches

Conventional extrinsic/projective depth registration. More...

#include <libfreenect2/projective_registration.h>

Public Member Functions

 ~ProjectiveRegistration ()
const ProjectiveCameraModeltargetCamera () const
const ProjectiveRegistrationOptionsoptions () const
bool apply (const Frame &depth, Frame &registered_depth, std::string *error=nullptr) const
 Register decoded float depth into a preallocated float target frame.

Static Public Member Functions

static std::unique_ptr< ProjectiveRegistration > create (const CalibrationProfile &profile, const ProjectiveCameraModel &target, const ProjectiveRegistrationOptions &options=ProjectiveRegistrationOptions(), std::string *error=nullptr)

Detailed Description

Conventional extrinsic/projective depth registration.

Unlike Registration, this class consumes ordinary camera matrices and a rigid depth-to-color transform. The factory-calibrated polynomial mapping remains available through Registration.

Constructor & Destructor Documentation

◆ ~ProjectiveRegistration()

~ProjectiveRegistration ( )

Member Function Documentation

◆ create()

std::unique_ptr< ProjectiveRegistration > create ( const CalibrationProfile & profile,
const ProjectiveCameraModel & target,
const ProjectiveRegistrationOptions & options = ProjectiveRegistrationOptions(),
std::string * error = nullptr )
static

References options().

◆ targetCamera()

const ProjectiveCameraModel & targetCamera ( ) const

◆ options()

const ProjectiveRegistrationOptions & options ( ) const

Referenced by create().

◆ apply()

bool apply ( const Frame & depth,
Frame & registered_depth,
std::string * error = nullptr ) const

Register decoded float depth into a preallocated float target frame.

Output pixels contain target-camera Z in millimeters. Missing pixels are zero. Calls are thread-safe when the caller supplies distinct outputs. Each calling thread reuses scratch buffers sized to the target raster, so steady-state use performs no per-frame allocation; retained capacity is bounded, and targets much larger than the Kinect color raster release their scratch after each call instead.