⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vgg_projective_basis_2d.m

📁 实现了几何多视的功能
💻 M
字号:
function H=vgg_projective_basis_2d(p1,p2,p3,p4);
%
% function H=vgg_projective_basis_2d(p1,p2,p3,p4);
%
% Computes 3x3 homography matrix H such that 
%
% H * [p1 p2 p3 p4] ~ [ 1 0 0 1
%                       0 1 0 1
%                       0 0 1 1 ]
%
% fsm@robots
%

if ( (~ exist('p1')) | (~ exist('p2')) | (~ exist('p3')) | (~ exist('p4')) )
  error('missing input argument(s)');
end

if ( prod(size(p1)) == 3 )
  p1=reshape(p1,[3 1]);
else
  error('p1 must have 3 entries');
end

if ( prod(size(p2)) == 3 )
  p2=reshape(p2,[3 1]);
else
  error('p2 must have 3 entries');
end

if ( prod(size(p3)) == 3 )
  p3=reshape(p3,[3 1]);
else
  error('p3 must have 3 entries');
end

if ( prod(size(p4)) == 3 )
  p4=reshape(p4,[3 1]);
else
  error('p4 must have 3 entries');
end

%
tmp=[p1 p2 p3] \ p4;
p1 = p1*tmp(1);
p2 = p2*tmp(2);
p3 = p3*tmp(3);

% now p4=p1+p2+p3

H=inv([p1 p2 p3]);

return;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -