script3

clear
close all
load filelist

k1 = 4;
file1 = files{k1};
rgb = imread(file1);
imshow(rgb);

sz = size(rgb);
nx = sz(2);
ny = sz(1);
cc = [nx ny]/2;
fc = 6600;
Warning: Image is too big to fit on screen; displaying
at 25% 
phi = 81.5;

% R = [ 1 0 0; 0 cos(phit) -sin(phit); 0 sin(phit) cos(phit) ]
R = roty(85,'deg')*rotx(-12,'deg');

KK = [ fc 0 cc(1); 0 fc cc(2); 0 0 1];
T1 = R*inv(KK);

% cp = mean(pts,2);
% newcp = h2e(T1*e2h(cp))

newcp = [0 0]';

scl =3.82*10;
M = [scl 0 0; 0 scl 0; 0 0 1]*[eye(2,2) -newcp ;  0 0 1];
T = M*T1;

tf = projective2d(T');

imageSize = [400 3400];
xWorldLimits = [80 680];
yWorldLimits = [0 70.6];
ref = imref2d(imageSize,xWorldLimits,yWorldLimits);
ref
out = imwarp(rgb,tf,'OutputView',ref);
imshow(out);
ref = 

  imref2d with properties:

           XWorldLimits: [80 680]
           YWorldLimits: [0 70.6000]
              ImageSize: [400 3400]
    PixelExtentInWorldX: 0.1765
    PixelExtentInWorldY: 0.1765
    ImageExtentInWorldX: 600
    ImageExtentInWorldY: 70.6000
       XIntrinsicLimits: [0.5000 3.4005e+03]
       YIntrinsicLimits: [0.5000 400.5000]

Warning: Image is too big to fit on screen; displaying
at 33% 
R = roty(-93,'deg')*rotx(-12,'deg');

KK = [ fc 0 cc(1); 0 fc cc(2); 0 0 1];
T1 = R*inv(KK);
2
% cp = mean(pts,2);
% newcp = h2e(T1*e2h(cp))

newcp = [0 0]';

scl =3.82*10;
M = [scl 0 0; 0 scl 0; 0 0 1]*[eye(2,2) -newcp ;  0 0 1];
T = M*T1;

tf = projective2d(T');

xWorldLimits = [-1600 -100];
yWorldLimits = [0 120];
imageSize = [240 3000];
ref = imref2d(imageSize,xWorldLimits,yWorldLimits);
ref
out = imwarp(rgb,tf,'OutputView',ref);
imshow(out);
ans =

     2


ref = 

  imref2d with properties:

           XWorldLimits: [-1600 -100]
           YWorldLimits: [0 120]
              ImageSize: [240 3000]
    PixelExtentInWorldX: 0.5000
    PixelExtentInWorldY: 0.5000
    ImageExtentInWorldX: 1500
    ImageExtentInWorldY: 120
       XIntrinsicLimits: [0.5000 3.0005e+03]
       YIntrinsicLimits: [0.5000 240.5000]

Warning: Image is too big to fit on screen; displaying
at 33% 
xWorldLimits = [-700 -100];
yWorldLimits = [0 120];
imageSize = [240 1200];
ref = imref2d(imageSize,xWorldLimits,yWorldLimits);
ref
out = imwarp(rgb,tf,'OutputView',ref);
imshow(out);
ref = 

  imref2d with properties:

           XWorldLimits: [-700 -100]
           YWorldLimits: [0 120]
              ImageSize: [240 1200]
    PixelExtentInWorldX: 0.5000
    PixelExtentInWorldY: 0.5000
    ImageExtentInWorldX: 600
    ImageExtentInWorldY: 120
       XIntrinsicLimits: [0.5000 1.2005e+03]
       YIntrinsicLimits: [0.5000 240.5000]