相机标定法原理与实现

本文介绍了相机标定的原理,包括定义、切向畸变与径向畸变的解释,以及相机内参数的详细说明。通过实验部分展示了角点检测、图像矫正等步骤,并提供了相机参数矩阵和畸变系数,最终得出实验结论。
摘要由CSDN通过智能技术生成

1.原理

1.1定义

相机标定指建立相机图像像素位置与场景点位置之间的关系,根据相机成像模型,由特征点在图像中坐标与世界坐标的对应关系,求解相机模型的参数。相机需要标定的模型参数包括内部参数和外部参数。

针孔相机成像原理其实就是利用投影将真实的三维世界坐标转换到二维的相机坐标上去,其模型示意图如下图所示:
在这里插入图片描述
从图中我们可以看出,在世界坐标中的一条直线上的点在相机上只呈现出了一个点,其中发生了非常大的变化,同时也损失和很多重要的信息,这正是我们3D重建、目标检测与识别领域的重点和难点。

1.2切向畸变与径向畸变

径向畸变:这是由于透镜先天条件原因(透镜形状),成像仪中心(光学中心)的畸变为0,随着向边缘移动,畸变越厉害。这里有3个参数,k1,k2,k3其中k3是可选参数。
切向畸变:这是摄像机安装过程造成的,如当透镜不完全平行于图像平面的时候产生的。
如何消除径向畸变呢?
在小孔模型中,一条指向在成像平面上的像仍然是直线。但是在实际拍摄的过程中,由于透镜的存在,往往将一条直线投影成了曲线,越靠近图像的边缘,这种现象越明显。透镜往往是中心对称的,使得这种不规则的畸变通常是径向对称的。主要有两大类:桶形畸变和枕形畸变。如下图
在这里插入图片描述

1.3流程图

在这里插入图片描述

1.4相机的内参数

设 P=(X,Y,Z)P=(X,Y,Z)P=(X,Y,Z) 为场景中的一点,进行下面几个步骤:

1.将 PPP 从世界坐标系通过刚体变换变换到相机坐标系,这个变换过程使用的是相机间的相对位姿,也就是相机的外参数。
2.从相机坐标系,通过透视投影变换到相机的成像平面上的像点p=(x,y)。
将像点p从成像坐标系,通过缩放和平移变换到像素坐标系上点p=(μ,ν)。
3.我们就可以将场景中的三维点转换成图像中的二维点了。
上述的变换步骤转换成具体的数学形式:
在这里插入图片描述
将矩阵K称为相机的内参数
在这里插入图片描述
最后可以得到相机的各个内参数:
在这里插入图片描述

2.实验

2.1代码

# coding=utf-8
import cv2
import numpy as np
import glob

# 设置寻找亚像素角点的参数,采用的停止准则是最大循环次数30和最大误差容限0.001
criteria = (cv2.TERM_CRITERIA_MAX_ITER | cv2.TERM_CRITERIA_EPS, 30, 0.001)

# 获取标定板角点的位置
objp = np.zeros((7 * 7, 3), np.float32)
objp[:, :2] = n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值