计算机视觉——python3实现张正友棋盘相机标定图像

本文介绍了计算机视觉中相机标定的重要性,重点讲解了张正友相机标定方法,包括计算内参和外参的初值、最大似然估计和径向畸变估计。通过使用棋盘格标定,减少了传统标定方法的复杂性。文章还提供了实际的Python3代码实现和遇到的问题解决方案,如角点检测错误和标定数据匹配问题。
摘要由CSDN通过智能技术生成

照相机标定

  前言:相机标定是我们相机拍摄的物体都处于三维世界坐标系中,而相机拍摄成像时把三维相机坐标系向二维图像坐标系转换。不同镜头成像时的转换矩阵不同可能引入失真,标定的作用是近似地估算出转换矩阵和失真系数。为了估算,需要知道若干点的三维世界坐标系中的坐标和二维图像坐标系中的坐标。传统的照相机标定方法是通过世界坐标集(Xi,Yi,Zi),以及它们在图像平面上的投影坐标集(ui,vi),计算相机投影矩阵M中的 11个未知参数,需要严格个出三个两两互相垂直的平面来做标定(条件较为严格,一般情况难以实现)。而棋盘标定只需要两个平面,只需要黑白格子相交的角点来标记会比原始标定容易许多。总而言之棋盘标定的意义就在于克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可以。

  

目录

照相机标定

(一)张正友相机标定原理

1.计算内参和外参的初值

2、最大似然估计

3.径向畸变估计

(二)实现棋盘标定

(三)遇到的问题

(四)完整代码+图片下载



(一)张正友相机标定原理

原理参考:https://blog.csdn.net/zkl99999/article/details/48372203

                    https://blog.csdn.net/u010128736/article/details/52860364

相机标定参考:https://blog.csdn.net/JennyBi/article/details/85764988

1.计算内参和外参的初值

相机模型:

张氏标定是一种基于平面棋盘格的标定,首先应该从两个平面的单应性(homography)映射开始着手。单应性(homography):在计算机视觉中被定义为一个平面到另一个平面的投影映射。首先看一下,图像平面与标定物棋盘格平面的单应性。

  摄像机模型得到:

 其中m的齐次坐标表示图像平面的像素坐标(u,v,1),M的齐次坐标表示世界坐标系的坐标点(X,Y,Z,1)。A[R t]即是上面一篇博客推出的P。R表示旋转矩阵、t表示平移矩阵、S表示尺度因子。A表示摄像机的内参数,具体表达式如下:

(1)计算单应性矩阵H

根据上面的摄像机模型,同理可以设三维世界坐标的点为X=[X,Y,Z,1]TX=[X,Y,Z,1]T,二维相机平面像素坐标为m=[u,v,1]Tm=[u,v,1]T,所以标定用的棋盘格平面到图像平面的单应性关系为:

其中s为尺度因子,K为摄像机内参数,R为旋转矩阵,T为平移向量。令


注意,s对于齐次坐标来说,不会改变齐次坐标值。张氏标定法中,将世界坐标系狗仔在棋盘格平面上,令棋盘格平面为Z=0的平面。则可得

 

我们把K[r1, r2, t]叫做单应性矩阵H,可以分析一下,H是一个三3*3的矩阵,并且有一个元素是作为齐次坐标。因此,H有8个未知量待解。(x,y)作为标定物的坐标,可以由设计者人为控制,是已知量。(u,v)是像素坐标,我们可以直接通过摄像机获得。对于一组对应的(x,y)-à(u,v)我们可以获得两组方程。现在有8个未知量需要求解,所以我们至少需要八个方程。所以需要四个对应点。四点即可算出,图像平面到世界平面的单应性矩阵H。 这也是张氏标定采用四个角点的棋盘格作为标定物的一个原因。在这里,我们可以将单应性矩阵写成三个列向量的形式,即: 

(2)计算内参矩阵

有上述式子可得:

  1、r1,r2正交 得:r1r2=0。这个很容易理解,因为r1,r2分别是绕x,y轴旋转的。应用高中立体几何中的两垂直平面上(两个旋转向量分别位于y-z和x-z平面)直线的垂直关系即可轻松推出。

   2、旋转向量的模为1,即|r1|=|r2|=1。这个也很容易理解,因为旋转不改变尺度嘛。如果不信可以回到上一篇博客,找到个方向的旋转矩阵化行列式算一下。即

由于旋转矩阵两列相交(r1和r2正交)内积为0可得 :

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值