照相机模型与增强现实
1、针孔相机模型
针孔相机模型是计算机视觉中广泛使用的相机模型。对于大多数应用来说,针孔照相机模型简单,并且具有足够的精神度。该相机从一个小孔采集射到暗箱内部的光线。在针孔照相机模型中,在光线投影到图像平面之前,从唯一一个点经过,也就是照相机中心。
针孔相机模型:
1.1照相机矩阵
照相机矩阵可以分解为:
这里,K是内参矩阵。[I|0]是外参矩阵
内参矩阵:
这里,图像平面和照相机中心间的距离为焦距 f 。当像素数组在传感器上偏斜的时候,需要用到倾斜参数 s ,也就是畸变参数。在大多数情况下,s 可以设置为 0,也就是说:
(x0 , y0 )就是光线坐标轴和图像平面的交点。因为光心通常在图像的中心,并且图像的坐标是从左上角开始计算的,所以光心的坐标接近于图像宽度和高度的一半。在这强调的是,唯一未知的变量是焦距 f 。
2、照相机标定
标定照相机是指计算出该照相机的内参数。同步标定内部参数和外部参数,一般包括两种策略:
光学标定: 利用已知的几何信息(如定长棋盘格)实现参数求解。
自标定: 在静态场景中利用 structure from motion估算参数。
2.1标定参数线性回归
通过空间中已知坐标的(特征)点 (Xi,Yi,Zi),以及它们在图像中的对应坐标 (ui,vi),直接估算 11 个待求解的内部和外部参数。
采用万能的最小二乘法解决上述问题!
3、增强现实
增强现实是将物体和相应信息放置在图像数据上的一系列操作的总称。
实现增强现实我们需要用到PyGame和PyOpenGL两个工具包。
3.1PyGame和PyOpenGL
PyGame是非常流行的游戏开发工具包,它可以简单的处理现实窗口、输入设备、事件,以及其他内容。PyGame是开源的,可以从https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl 下载