计算机视觉基础之相机标定

本文介绍了使用最小二乘法进行相机标定的原理,包括坐标系变换过程和如何通过最小二乘法求解相机参数。实验中,通过解决从世界坐标系到像素坐标系的变换矩阵,来确定相机的标定参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天完成了用最小二乘法进行相机标定的实验。

1. 最小二乘法进行相机标定的原理

1.1 坐标系变换

将实物拍到相机的胶片上需要进过几个坐标系的变换:

世界坐标系—>相机坐标系—成像坐标系—>像素坐标系

在坐标系变换的过程中可以看做是将变换矩阵线性作用于齐次向量

从世界坐标系变换到相机坐标系:



其中为世界坐标系下的坐标,为相机坐标系下的坐标,为像素坐标系下的坐标。

那么可以得到:



我们已知世界坐标系下的坐标和像素坐标下的坐标,求解矩阵M中的未知量就是对相机进行标定。

1.2 最小二乘法求解

用最小二乘法进行求解就是要使的U,那么就要求达到最小,就是要求:

所以只要求解最小特征值对应的特征向量,就可以求解出最优解。

2.代码

[M,N]=size(P);
%矩阵A
for i=1:N
    A(2*i-1,1:4)=[P(1:3,i);1]';
    A(2*i-1,5:8)=[0 0 0 0];
    A(2*i-1,9:12)=-P(4,i)*[P(1:3,i);1]';
    A(2*i,1:4)=[0 0 0 0];
    A(2*i,5:8)=[P(1:3,i);1]';
    A(2*i,9:12)=-P(4,i)*[P(1:3,i);1]';
end
AA=A'*A;
[V D]=eig(AA);
%求解特征值和特征向量
a(1,1:3)=V(1,1:3);b(1,1)=V(1,4);[M,N]=size(P);
%求得最小的特征值对应的特征向量
a(1,1:3)=V(1,1:3);b(1,1)=V(1,4);
a(2,1:3)=V(1,5:7);b(2,1)=V(1,8);
a(3,1:3)=V(1,9:11);b(3,1)=V(1,12);
e=1;
%ε=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值