libfreenect_registration.h
Go to the documentation of this file.
1 /*
2  * This file is part of the OpenKinect Project. http://www.openkinect.org
3  *
4  * Copyright (c) 2011 individual OpenKinect contributors. See the CONTRIB file
5  * for details.
6  *
7  * This code is licensed to you under the terms of the Apache License, version
8  * 2.0, or, at your option, the terms of the GNU General Public License,
9  * version 2.0. See the APACHE20 and GPL2 files for the text of the licenses,
10  * or the following URLs:
11  * http://www.apache.org/licenses/LICENSE-2.0
12  * http://www.gnu.org/licenses/gpl-2.0.txt
13  *
14  * If you redistribute this file in source form, modified or unmodified, you
15  * may:
16  * 1) Leave this header intact and distribute it under the same terms,
17  * accompanying it with the APACHE20 and GPL20 files, or
18  * 2) Delete the Apache 2.0 clause and accompany it with the GPL2 file, or
19  * 3) Delete the GPL v2 clause and accompany it with the APACHE20 file
20  * In all cases you must keep the copyright notice intact and include a copy
21  * of the CONTRIB file.
22  *
23  * Binary distributions must follow the binary distribution requirements of
24  * either License.
25  */
26 #pragma once
27 
28 #include "libfreenect.h"
29 #include <stdint.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
38 typedef struct {
39  int32_t dx_center; // not used by mapping algorithm
40 
45 
47 
52 
54 
57 
58  int32_t rollout_blank; // not used by mapping algorithm
59  int32_t rollout_size; // not used by mapping algorithm
60 
63 
68 
73 
74  int32_t back_comp1; // not used by mapping algorithm
75 
77 
78  int32_t back_comp2; // not used by mapping algorithm
79 
82 
84 typedef struct {
89 
91 typedef struct {
92  float dcmos_emitter_dist; // Distance between IR camera and IR emitter, in cm.
93  float dcmos_rcmos_dist; // Distance between IR camera and RGB camera, in cm.
94  float reference_distance; // The focal length of the IR camera, in mm.
95  float reference_pixel_size; // The size of a single pixel on the zero plane, in mm.
97 
99 typedef struct {
103 
104  double const_shift;
105 
108  int32_t (*registration_table)[2]; // A table of 640*480 pairs of x,y values.
109  // Index first by pixel, then x:0 and y:1.
111 
112 
113 // These allow clients to export registration parameters; proper docs will
114 // come later
117 
118 // convenience function to convert a single x-y coordinate pair from camera
119 // to world coordinates
121  int cx, int cy, int wz, double* wx, double* wy);
122 
123 #ifdef __cplusplus
124 }
125 #endif
FREENECTAPI int freenect_destroy_registration(freenect_registration *reg)
Definition: registration.c:367
#define FREENECTAPI
If Win32, export all functions for DLL usage.
Definition: libfreenect.h:187
freenect_zero_plane_info zero_plane_info
unsigned short uint16_t
internal Kinect zero plane data
FREENECTAPI freenect_registration freenect_copy_registration(freenect_device *dev)
Definition: registration.c:353
int int32_t
registration padding info (?)
all data needed for depth->RGB mapping
freenect_reg_pad_info reg_pad_info
FREENECTAPI void freenect_camera_to_world(freenect_device *dev, int cx, int cy, int wz, double *wx, double *wy)
camera -> world coordinate helper function
Definition: registration.c:318


libfreenect
Author(s): Hector Martin, Josh Blake, Kyle Machulis, OpenKinect community
autogenerated on Thu Jun 6 2019 19:25:38