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

Classes

struct  DepthSearchOptions
 Options for locating a coherent foreground depth sample near a color point. More...

Enumerations

enum  ColorOrder { BGR = 0 , RGB = 1 }
 Channel order for three-channel color output. More...

Functions

bool convertColorFrame (const Frame *source, ColorOrder order, unsigned char *destination, size_t destination_size)
 Convert a BGRX or RGBX frame to contiguous three-channel BGR or RGB.
bool buildColorToDepthMap (const Frame *undistorted_depth, const int *depth_to_color, size_t depth_to_color_count, int32_t *color_to_depth, size_t color_pixel_count)
 Reverse a depth-to-color index map, keeping the nearest valid depth on collisions.
int findDepthPixel (float normalized_x, float normalized_y, const int32_t *color_to_depth, size_t color_pixel_count, size_t color_width, size_t color_height, const Frame *undistorted_depth, const DepthSearchOptions &options)
 Find the depth pixel corresponding to normalized color coordinates.
bool liftColorPoints (const Registration *registration, const Frame *undistorted_depth, const int32_t *color_to_depth, size_t color_pixel_count, size_t color_width, size_t color_height, const float *normalized_xy, size_t landmark_count, const DepthSearchOptions &options, float *xyz_meters, uint8_t *valid, int32_t *depth_indices)
 Lift normalized color coordinates to metric XYZ points.

Enumeration Type Documentation

◆ ColorOrder

enum ColorOrder

Channel order for three-channel color output.

Enumerator
BGR 
RGB 

Function Documentation

◆ convertColorFrame()

bool convertColorFrame ( const Frame * source,
ColorOrder order,
unsigned char * destination,
size_t destination_size )

Convert a BGRX or RGBX frame to contiguous three-channel BGR or RGB.

Returns
false when an argument, frame format, size, or destination capacity is invalid.

◆ buildColorToDepthMap()

bool buildColorToDepthMap ( const Frame * undistorted_depth,
const int * depth_to_color,
size_t depth_to_color_count,
int32_t * color_to_depth,
size_t color_pixel_count )

Reverse a depth-to-color index map, keeping the nearest valid depth on collisions.

Missing color pixels are written as -1.

◆ findDepthPixel()

int findDepthPixel ( float normalized_x,
float normalized_y,
const int32_t * color_to_depth,
size_t color_pixel_count,
size_t color_width,
size_t color_height,
const Frame * undistorted_depth,
const DepthSearchOptions & options )

Find the depth pixel corresponding to normalized color coordinates.

Returns
a linear depth index, or -1 when no valid sample can be selected.

◆ liftColorPoints()

bool liftColorPoints ( const Registration * registration,
const Frame * undistorted_depth,
const int32_t * color_to_depth,
size_t color_pixel_count,
size_t color_width,
size_t color_height,
const float * normalized_xy,
size_t landmark_count,
const DepthSearchOptions & options,
float * xyz_meters,
uint8_t * valid,
int32_t * depth_indices )

Lift normalized color coordinates to metric XYZ points.

normalized_xy contains interleaved x/y pairs. xyz_meters, valid, and depth_indices must have capacity for landmark_count * 3, landmark_count, and landmark_count elements respectively. Individual points without a valid depth sample receive NaN XYZ, validity 0, and index -1. The function returns false only for invalid overall arguments.