-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit.lua
118 lines (95 loc) · 4.26 KB
/
init.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
local auto_calibration = require 'auto_calibration.env'
local BASE_POSE_NAMES = {
'start',
'pre_pick_marker',
'pick_marker',
'post_pick_marker',
'camera1_base'
}
auto_calibration.BASE_POSE_NAMES = BASE_POSE_NAMES
local CalibrationMode = {
SingleCamera = 'SingleCamera',
StereoRig = 'StereoRig'
}
auto_calibration.CalibrationMode = CalibrationMode
local DEFAULT_CALIBRATION_FLAGS = {
CALIB_USE_INTRINSIC_GUESS = false, -- cameraMatrix contains valid initial values of fx, fy, cx, cy that are optimized further. Otherwise, (cx, cy) is initially set to the image center (imageSize is used), and focal distances are computed in a least-squares fashion. Note, that if intrinsic parameters are known, there is no need to use this function just to estimate extrinsic parameters. Use solvePnP() instead.
CALIB_FIX_PRINCIPAL_POINT = false, -- The principal point is not changed during the global optimization. It stays at the center or at a different location specified when CV_CALIB_USE_INTRINSIC_GUESS is set too.
CALIB_FIX_ASPECT_RATIO = false, -- The functions considers only fy as a free parameter. The ratio fx/fy stays the same as in the input cameraMatrix . When CV_CALIB_USE_INTRINSIC_GUESS is not set, the actual input values of fx and fy are ignored, only their ratio is computed and used further.
CALIB_ZERO_TANGENT_DIST = true, -- Tangential distortion coefficients (p_1, p_2) are set to zeros and stay zero.
CALIB_FIX_K1 = false,
CALIB_FIX_K2 = false,
CALIB_FIX_K3 = true,
CALIB_RATIONAL_MODEL = false,
CALIB_FIX_K4 = true,
CALIB_FIX_K5 = true,
CALIB_FIX_K6 = true
}
local DEFAULT_STEREO_CALIBRATION_FLAGS = {
CALIB_USE_INTRINSIC_GUESS = false,
CALIB_FIX_PRINCIPAL_POINT = false,
CALIB_FIX_ASPECT_RATIO = false,
CALIB_ZERO_TANGENT_DIST = true,
CALIB_FIX_K1 = false,
CALIB_FIX_K2 = false,
CALIB_FIX_K3 = true,
CALIB_RATIONAL_MODEL = false,
CALIB_FIX_K4 = true,
CALIB_FIX_K5 = true,
CALIB_FIX_K6 = true,
CV_CALIB_FIX_INTRINSIC = true
}
local NO_DISTORTION_CALIBRATION_FLAGS = {
CALIB_USE_INTRINSIC_GUESS = false,
CALIB_FIX_PRINCIPAL_POINT = false,
CALIB_FIX_ASPECT_RATIO = false,
CALIB_ZERO_TANGENT_DIST = true,
CALIB_FIX_K1 = true,
CALIB_FIX_K2 = true,
CALIB_FIX_K3 = true,
CALIB_RATIONAL_MODEL = false,
CALIB_FIX_K4 = true,
CALIB_FIX_K5 = true,
CALIB_FIX_K6 = true
}
local ONLY_K1_DISTORTION_CALIBRATION_FLAGS = {
CALIB_USE_INTRINSIC_GUESS = false,
CALIB_FIX_PRINCIPAL_POINT = false,
CALIB_FIX_ASPECT_RATIO = false,
CALIB_ZERO_TANGENT_DIST = true,
CALIB_FIX_K1 = false,
CALIB_FIX_K2 = true,
CALIB_FIX_K3 = true,
CALIB_RATIONAL_MODEL = false,
CALIB_FIX_K4 = true,
CALIB_FIX_K5 = true,
CALIB_FIX_K6 = true
}
local FULL_CALIBRATION_FLAGS = {
CALIB_USE_INTRINSIC_GUESS = false,
CALIB_FIX_PRINCIPAL_POINT = false,
CALIB_FIX_ASPECT_RATIO = false,
CALIB_ZERO_TANGENT_DIST = false,
CALIB_FIX_K1 = false,
CALIB_FIX_K2 = false,
CALIB_FIX_K3 = false,
CALIB_RATIONAL_MODEL = false,
CALIB_FIX_K4 = true,
CALIB_FIX_K5 = true,
CALIB_FIX_K6 = true
}
local CalibrationFlags = {
Default = DEFAULT_CALIBRATION_FLAGS,
DefaultStereo = DEFAULT_STEREO_CALIBRATION_FLAGS, --fix the intrinsic parameters of the cameras
NoDistortion = NO_DISTORTION_CALIBRATION_FLAGS,
OnlyK1Distortion = ONLY_K1_DISTORTION_CALIBRATION_FLAGS,
Full = FULL_CALIBRATION_FLAGS
}
auto_calibration.CalibrationFlags = CalibrationFlags
GenICamCameraClient = require 'auto_calibration.GenICamCameraClient'
PatternLocalisation = require 'auto_calibration.PatternLocalisation'
ConfigurationCalibration = require 'auto_calibration.ConfigurationCalibration'
calib = require 'auto_calibration.handEyeCalibration'
AutoCalibration = require 'auto_calibration.AutoCalibration'
HandEye = require 'auto_calibration.HandEye'
return auto_calibration