单应性矩阵 matlab,四点求解单应性矩阵

网上有很多关于单应性矩阵的求解方法,但都没有说明怎样用四点求解单应性矩阵或者源码详细说明很少。这里说说自己的理解。

首先贴出matlab代码

% 返回值 H 是一个3*3的矩阵

% pts1 和 pts2是2*4的坐标矩阵对应特征点的(x,y)坐标

n = size(pts1,2);

A = zeros(2*n,9);

A(1:2:2*n,1:2) = pts1';

A(1:2:2*n,3) = 1;

A(2:2:2*n,4:5) = pts1';

A(2:2:2*n,6) = 1;

x1 = pts1(1,:)';

y1 = pts1(2,:)';

x2 = pts2(1,:)';

y2 = pts2(2,:)';

A(1:2:2*n,7) = -x2.*x1;

A(2:2:2*n,7) = -y2.*x1;

A(1:2:2*n,8) = -x2.*y1;

A(2:2:2*n,8) = -y2.*y1;

A(1:2:2*n,9) = -x2;

A(2:2:2*n,9) = -y2;

[evec,~] = eig(A'*A);

H = reshape(evec(:,1),[3,3])';

H = H/H(end); % make H(3,3) = 1

在齐次坐标中,假设一点p(xi,yi,1)经过H矩阵的变换变为p‘(xi',yi',1),即 p' = H*p,通常,对于

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值