-
Notifications
You must be signed in to change notification settings - Fork 5
/
Step05_FinalCalibration.m
78 lines (70 loc) · 3.04 KB
/
Step05_FinalCalibration.m
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
% function:
% Step05_FinalCalibration(camCount,preCalibResultsFile,initIntrinsicsFile,finalCalibResults)
%
% Description:
% Perform the final calibration of all the cameras using a non-linear
% optimization.
%
% Dependencies:
% - function FinalCalibration: performs the calibration of a single
% camera.
% - file 'calibParameters.mat' created with proj0_ServerMultiKinectCalib.
% From this file we use the variables: 'dataDir', 'minFunType', 'pointsToConsider'
%
% Inputs:
% - camCount: Number of cameras to calibrate
% - preCalibResultsFile: name of the output file containing the results
% of the pre-calibration
% - initIntrinsicsFile: out file with the estimated intrinsic parameters.
%
% Return:
% Save the results on the finalCalibResults specified in the arguments
%
% Authors:
% Diana M. Cordova
% Juan R. Terven
% Date: Feb-2016
function Step05_FinalCalibration(camCount,preCalibResultsFile,initIntrinsicsFile,finalCalibResults)
disp('Step 4: Final Joint Calibration');
% Calibrate camera 1
disp('Calibrating Depth camera 1...')
[result1, result2] = FinalCalibration(preCalibResultsFile, ...
initIntrinsicsFile, 1, 'depth');
save(finalCalibResults,'-struct','result1'); % Save results on .mat
disp('Calibrating Color camera 1...')
[result1, result2] = FinalCalibration(preCalibResultsFile, ...
initIntrinsicsFile, 1, 'color');
save(finalCalibResults,'-struct','result1','-append');
if camCount > 1
% Calibrate camera 2
disp('Calibrating Depth camera 2...')
[result1, result2] = FinalCalibration(preCalibResultsFile, ...
initIntrinsicsFile, 2, 'depth');
save(finalCalibResults,'-struct','result1','-append');
disp('Calibrating Color camera 2...')
[result1, result2] = FinalCalibration(preCalibResultsFile, ...
initIntrinsicsFile, 2, 'color');
save(finalCalibResults,'-struct','result1','-append');
end
if camCount > 2
% Calibrate camera 3
disp('Calibrating Depth camera 3...')
[result1, result2] = FinalCalibration(preCalibResultsFile, ...
initIntrinsicsFile, 3, 'depth');
save(finalCalibResults,'-struct','result1','-append')
disp('Calibrating Color camera 3...')
[result1, result2] = FinalCalibration(preCalibResultsFile, ...
initIntrinsicsFile, 3, 'color');
save(finalCalibResults,'-struct','result1','-append')
end
if camCount > 3
% Calibrate camera 4
disp('Calibrating Depth camera 4...')
[result1, result2] = FinalCalibration(preCalibResultsFile, ...
initIntrinsicsFile, 4, 'depth');
save(finalCalibResults,'-struct','result1','-append');
disp('Calibrating Color camera 4...')
[result1, result2] = FinalCalibration(preCalibResultsFile, ...
initIntrinsicsFile, 4, 'color');
save(finalCalibResults,'-struct','result1','-append')
end