source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/BlueCCal/MultiCamSelfCal/LocalAlignments/planarcams.m @ 37

Last change on this file since 37 was 37, checked in by (none), 14 years ago

Added original make3d

File size: 1.5 KB
Line 
1% planarcams ... alignment under assumption of planar camera arrangements
2%
3% [align,cam] = planarmove(in,cam,config,idx)
4% in, cam, config ... see the main GOCAL script
5% idx ... indexes of cameras which are suppose to be in one plane
6%
7% align ... structures aligned wit the specified world frame
8%
9% $Id: planarcams.m,v 1.1 2003/07/03 15:36:55 svoboda Exp $
10
11function [align,cam] = planarcams(in,cam,config,idx)
12
13% fit a plane to the reconstructed points and estimate normal
14
15plane.n = planefit(in.Ce(:,idx)');
16
17new.n = [0,0,1]'; % align the xy plane horizontally
18
19rotaxis = cross(new.n,plane.n);
20rotangle = acos( (plane.n'*new.n)/norm(plane.n)*norm(new.n) );
21
22R = nfi2r(rotaxis,rotangle);
23s = 3;
24t = [0,0,1]' - s*R*mean(in.Xe(1:3,:)')';
25
26align.simT.s = s;
27align.simT.R = R;
28align.simT.t = t;
29
30[align.P, align.X]      = align3d(in.Pe,in.Xe,align.simT);                     
31% save aligned data
32if 1 % SAVE_STEPHI | SAVE_PGUHA
33        [align.Cst,align.Rot] = savecalpar(align.P,config);
34end
35drawscene(align.X,align.Cst',align.Rot,61,'cloud','Graphical Output Validation: Aligned data, TopView',config.cal.cams2use);
36
37set(gca,'CameraTarget',[0,0,0]);
38set(gca,'CameraPosition',[0,0,1]);
39
40figure(61),
41% print -depsc graphevalaligned.eps
42eval(['print -depsc ', config.paths.data, 'topview.eps'])
43
44drawscene(align.X,align.Cst',align.Rot,62,'cloud','Graphical Output Validation: Aligned data, SideView',config.cal.cams2use);
45
46set(gca,'CameraTarget',[0,0,0.9]);
47set(gca,'CameraPosition',[2,0,0.9]);
48
49figure(62),
50% print -depsc graphevalaligned.eps
51eval(['print -depsc ', config.paths.data, 'sideview.eps'])
52
53return
54
55
Note: See TracBrowser for help on using the repository browser.