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