相机标定算法(相机参数标定(camera calibration)推导过程(1))
【温馨提示】本文共有760个字,预计阅读完需要2分钟,请仔细阅读哦!
第一篇文章,试着写点,与大家共同进步.我不是做图像的,只是最近用到了一些图像处理的技术,所以总结下,里边可能会和"正版知识"有出入,欢迎讨论.
1. 相机标定介绍
相机标定是为确定空间物体与其图像像素点的对应关系,在建立它们成像装换模型的时候,其中用到的参数就有相机参数,而这个计算求参过程,就是相机标定.
图1: 相机标定的应用:从图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体等等
2.坐标系关系
先看图2:
(上述式子在理论上是不能计算的,只要把刚体变换最后一行,和世界坐标系最后一个删除就行了.)
a).世界坐标系是物体存在的坐标系,包含物体的长宽和与镜头的距离. 在世界坐标系中的变换有旋转(3*3的旋转矩阵)和平移(3*1的平移矩阵). 这是相机外参数.
b).相机坐标系是以镜头为基础,建立的坐标系. 然后像素点坐标系是我们在读取图像时,搜索像素点时候用的,就是第几行,第几列的点. 两个一起作为相机内参数,用矩阵 [A] 表示.
c).细说的话,Fx,Fy是镜头在x,y方向的有效焦距(Focal length). TBD是一个未定义的参数,可以是0,也可以是某个值,都无妨碍后边的计算.
d).相机内外参数相乘得到H矩阵.可以在做图像拼接时使用.
3.计算过程
像素点位置=相机内外矩阵*世界坐标系
这里边H矩阵有11个未知数.在图片里,一个点有两个维度,(u,v),所以对于11个未知数,需要6个点就行了. 我们需要找到图片上的点,和实际物体的位置(他的长宽和离镜头的距离等等).
对于H矩阵的用处,后边再单独写一篇.
但是我们仍然不知相机内参数.但是根据上式可以得:
对于旋转矩阵,现在也引入一点新东西. (我是从机器人学robotics里学到的).
这是对变动坐标系B的轴进行旋转,然后对每个轴的旋转进行右乘.若对固定坐标系A里的轴旋转,就左乘
对上边的旋转矩阵(rotation matrix)有以下性质:
将上述性质应用到H矩阵中,
B是一个对角矩阵(太复杂了,就不打出来了).所以其未知数有6个.根据上边求H矩阵,求这六个未知数需要得到三个H矩阵,即三张图,每张图六个点. 其实上边还有一个比例因子(lambda),我给忘了.
如果TBD是0的话,那只需要两张图. 不过值得注意的是一般一张图需要更多点,需要更多图.然后用伪逆矩阵(Pseudoinverse).都是后话......
求出b = [B11, B12, B22, B13, B23, B33], 六个值后,我们就能求相机内参数,外参数.
到此,相机内参数和外参数就求完了,我会在后边几天写一些关于这个理论的应用. 以图像拼接和人脸朝向识别(head angles)为例子来写一些东西.
还有一个视频是用机器人模仿人的动作,当时和同学两天做了一下,效果不是太好,仅供娱乐.
下面是一些参考文献链接:
[1]. https://wenku.baidu.com/view/f1cb566fbb68a98271fefa98.html
[2]. https://blog.csdn.net/fengye2two/article/details/80686409
[3]. https://blog.csdn.net/lxy_2011/article/details/80675803
相机标定时,得到的相机内参数的主要作用是(camera raw 镜头校正)
展讯CTS Verifier test camera FOV Calibration测试fail解决办法
内容更新时间(UpDate): 2023年06月08日 星期四
版权保护: 【本文标题和链接】相机标定算法(相机参数标定(camera calibration)推导过程(1)) http://www.youmengdaxiazuofa.net/longxia8/125586.html

- 全部评论(0)