Main Page
Namespaces
Classes
Files
File List
File Members
include
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
41
int32_t
ax
;
42
int32_t
bx
;
43
int32_t
cx
;
44
int32_t
dx
;
45
46
int32_t
dx_start
;
47
48
int32_t
ay
;
49
int32_t
by
;
50
int32_t
cy
;
51
int32_t
dy
;
52
53
int32_t
dy_start
;
54
55
int32_t
dx_beta_start
;
56
int32_t
dy_beta_start
;
57
58
int32_t
rollout_blank
;
// not used by mapping algorithm
59
int32_t
rollout_size
;
// not used by mapping algorithm
60
61
int32_t
dx_beta_inc
;
62
int32_t
dy_beta_inc
;
63
64
int32_t
dxdx_start
;
65
int32_t
dxdy_start
;
66
int32_t
dydx_start
;
67
int32_t
dydy_start
;
68
69
int32_t
dxdxdx_start
;
70
int32_t
dydxdx_start
;
71
int32_t
dxdxdy_start
;
72
int32_t
dydxdy_start
;
73
74
int32_t
back_comp1
;
// not used by mapping algorithm
75
76
int32_t
dydydx_start
;
77
78
int32_t
back_comp2
;
// not used by mapping algorithm
79
80
int32_t
dydydy_start
;
81
}
freenect_reg_info
;
82
84
typedef
struct
{
85
uint16_t
start_lines
;
86
uint16_t
end_lines
;
87
uint16_t
cropping_lines
;
88
}
freenect_reg_pad_info
;
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.
96
}
freenect_zero_plane_info
;
97
99
typedef
struct
{
100
freenect_reg_info
reg_info
;
101
freenect_reg_pad_info
reg_pad_info
;
102
freenect_zero_plane_info
zero_plane_info
;
103
104
double
const_shift
;
105
106
uint16_t
*
raw_to_mm_shift
;
107
int32_t
*
depth_to_rgb_shift
;
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.
110
}
freenect_registration
;
111
112
113
// These allow clients to export registration parameters; proper docs will
114
// come later
115
FREENECTAPI
freenect_registration
freenect_copy_registration
(
freenect_device
* dev);
116
FREENECTAPI
int
freenect_destroy_registration
(
freenect_registration
* reg);
117
118
// convenience function to convert a single x-y coordinate pair from camera
119
// to world coordinates
120
FREENECTAPI
void
freenect_camera_to_world
(
freenect_device
* dev,
121
int
cx,
int
cy,
int
wz,
double
* wx,
double
* wy);
122
123
#ifdef __cplusplus
124
}
125
#endif
freenect_reg_pad_info::cropping_lines
uint16_t cropping_lines
Definition:
libfreenect_registration.h:87
freenect_destroy_registration
FREENECTAPI int freenect_destroy_registration(freenect_registration *reg)
Definition:
registration.c:367
FREENECTAPI
#define FREENECTAPI
If Win32, export all functions for DLL usage.
Definition:
libfreenect.h:187
freenect_registration::zero_plane_info
freenect_zero_plane_info zero_plane_info
Definition:
libfreenect_registration.h:102
freenect_reg_info::dx_beta_inc
int32_t dx_beta_inc
Definition:
libfreenect_registration.h:61
freenect_reg_info::dx_center
int32_t dx_center
Definition:
libfreenect_registration.h:39
freenect_reg_info::rollout_blank
int32_t rollout_blank
Definition:
libfreenect_registration.h:58
freenect_reg_info::cx
int32_t cx
Definition:
libfreenect_registration.h:43
uint16_t
unsigned short uint16_t
Definition:
OniPlatformWin32.h:66
freenect_registration::reg_info
freenect_reg_info reg_info
Definition:
libfreenect_registration.h:100
freenect_reg_info::bx
int32_t bx
Definition:
libfreenect_registration.h:42
freenect_reg_info::dxdy_start
int32_t dxdy_start
Definition:
libfreenect_registration.h:65
freenect_reg_info::dydydy_start
int32_t dydydy_start
Definition:
libfreenect_registration.h:80
freenect_reg_info::dxdxdx_start
int32_t dxdxdx_start
Definition:
libfreenect_registration.h:69
freenect_reg_info::dydxdy_start
int32_t dydxdy_start
Definition:
libfreenect_registration.h:72
freenect_reg_info::dy
int32_t dy
Definition:
libfreenect_registration.h:51
freenect_reg_info::dydy_start
int32_t dydy_start
Definition:
libfreenect_registration.h:67
freenect_reg_info::dxdxdy_start
int32_t dxdxdy_start
Definition:
libfreenect_registration.h:71
freenect_reg_info::dxdx_start
int32_t dxdx_start
Definition:
libfreenect_registration.h:64
freenect_zero_plane_info
internal Kinect zero plane data
Definition:
libfreenect_registration.h:91
freenect_registration::raw_to_mm_shift
uint16_t * raw_to_mm_shift
Definition:
libfreenect_registration.h:106
freenect_reg_info::dx_beta_start
int32_t dx_beta_start
Definition:
libfreenect_registration.h:55
freenect_reg_info::by
int32_t by
Definition:
libfreenect_registration.h:49
freenect_reg_info::dydydx_start
int32_t dydydx_start
Definition:
libfreenect_registration.h:76
freenect_zero_plane_info::dcmos_rcmos_dist
float dcmos_rcmos_dist
Definition:
libfreenect_registration.h:93
freenect_copy_registration
FREENECTAPI freenect_registration freenect_copy_registration(freenect_device *dev)
Definition:
registration.c:353
libfreenect.h
freenect_reg_info
Definition:
libfreenect_registration.h:38
freenect_reg_info::dydxdx_start
int32_t dydxdx_start
Definition:
libfreenect_registration.h:70
int32_t
int int32_t
Definition:
OniPlatformWin32.h:62
freenect_reg_info::dy_beta_start
int32_t dy_beta_start
Definition:
libfreenect_registration.h:56
freenect_reg_info::dy_beta_inc
int32_t dy_beta_inc
Definition:
libfreenect_registration.h:62
freenect_reg_pad_info
registration padding info (?)
Definition:
libfreenect_registration.h:84
freenect_reg_info::dx
int32_t dx
Definition:
libfreenect_registration.h:44
freenect_registration::depth_to_rgb_shift
int32_t * depth_to_rgb_shift
Definition:
libfreenect_registration.h:107
freenect_registration::const_shift
double const_shift
Definition:
libfreenect_registration.h:104
freenect_registration
all data needed for depth->RGB mapping
Definition:
libfreenect_registration.h:99
freenect_reg_info::ay
int32_t ay
Definition:
libfreenect_registration.h:48
freenect_zero_plane_info::reference_distance
float reference_distance
Definition:
libfreenect_registration.h:94
_freenect_device
Definition:
freenect_internal.h:213
freenect_reg_info::dydx_start
int32_t dydx_start
Definition:
libfreenect_registration.h:66
freenect_zero_plane_info::dcmos_emitter_dist
float dcmos_emitter_dist
Definition:
libfreenect_registration.h:92
freenect_reg_info::cy
int32_t cy
Definition:
libfreenect_registration.h:50
freenect_registration::reg_pad_info
freenect_reg_pad_info reg_pad_info
Definition:
libfreenect_registration.h:101
freenect_reg_pad_info::start_lines
uint16_t start_lines
Definition:
libfreenect_registration.h:85
freenect_reg_info::ax
int32_t ax
Definition:
libfreenect_registration.h:41
freenect_zero_plane_info::reference_pixel_size
float reference_pixel_size
Definition:
libfreenect_registration.h:95
freenect_reg_info::dy_start
int32_t dy_start
Definition:
libfreenect_registration.h:53
freenect_reg_info::back_comp1
int32_t back_comp1
Definition:
libfreenect_registration.h:74
freenect_camera_to_world
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
freenect_reg_info::dx_start
int32_t dx_start
Definition:
libfreenect_registration.h:46
freenect_reg_info::rollout_size
int32_t rollout_size
Definition:
libfreenect_registration.h:59
freenect_reg_info::back_comp2
int32_t back_comp2
Definition:
libfreenect_registration.h:78
freenect_reg_pad_info::end_lines
uint16_t end_lines
Definition:
libfreenect_registration.h:86
libfreenect
Author(s): Hector Martin, Josh Blake, Kyle Machulis, OpenKinect community
autogenerated on Thu Jun 6 2019 19:25:38