summaryrefslogtreecommitdiffstats
path: root/SD-VBS/common/toolbox/toolbox_basic/calib_bouguetj/calib.m
blob: 5b0fdac53787e866dad6b278633b8d216f5a61b5 (plain) (blame)
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
if ~exist('instructions'), instructions = 1; end;

if instructions,
   
fprintf(1,'\n');
fprintf(1,'*----------------------------------------------------------------------------------------------------*\n');
fprintf(1,'|                         Main Calibration toolbox (2D and 3D rigs)                                  |\n');
fprintf(1,'|                        (c) Jean-Yves Bouguet - September 9th, 1999                                 |\n');
fprintf(1,'*----------------------------------------------------------------------------------------------------*\n\n\n');

fprintf(1,'CLICK ON:\n\n');

fprintf(1,'2D:   To perform camera calibration from multiple views of a 2D planar grid. \n');
fprintf(1,'      Set default size of grid (in dX_default and dY_default) in click_calib.m.\n');
fprintf(1,'3D:   To perform camera calibration from multiple views of a 3D grid corner. \n');
fprintf(1,'      Set default size of grids (in dX_default and dY_default) in click_calib3D.m.\n');
fprintf(1,'Exit: To close the calibration tool. \n');

end;

instructions = 0;

fig_number = 1;

n_row = 1;
n_col = 3;

string_list = cell(n_row,n_col);
callback_list = cell(n_row,n_col);

x_size = 40;
y_size = 20;

title_figure = 'Calibration tool';

string_list{1,1} = '2D rig';
string_list{1,2} = '3D rig';
string_list{1,3} = 'Exit';

callback_list{1,1} = 'calib_gui;';
callback_list{1,2} = 'calib3D_gui;';
callback_list{1,3} = ['disp(''Bye. To run again, type calib.''); close(' num2str(fig_number) ');'];


figure(fig_number); clf;
pos = get(fig_number,'Position');

fig_size_x = x_size*n_col+(n_col+1)*2;
fig_size_y = y_size*n_row+(n_row+1)*2;

set(fig_number,'Units','points', ...
	'BackingStore','off', ...
	'Color',[0.8 0.8 0.8], ...
	'MenuBar','none', ...
	'Resize','off', ...
	'Name',title_figure, ...
'Position',[pos(1) pos(2) fig_size_x fig_size_y], ...
'NumberTitle','off');


for i=n_row:-1:1,
   for j = n_col:-1:1,
      if (~isempty(callback_list{i,j}))&(~isempty(string_list{i,j})),
      	uicontrol('Parent',fig_number, ...
         	'Units','points', ...
				'Callback',callback_list{i,j}, ...
				'ListboxTop',0, ...
				'Position',[(2+(j-1)*(x_size+2))   (fig_size_y - i*(2+y_size))  x_size   y_size], ...
				'String',string_list{i,j}, ...
            'Tag','Pushbutton1');
      end;  
	end;
end;