网站建设 计入哪个科目,凡科邮箱手机登录入口,全国信用企业信息公示系统查询,中小企业电商网站建设的重要性相机标定详解
最近做项目要用到标定#xff0c;因为是小白#xff0c;很多东西都不懂#xff0c;于是查了一堆的博客#xff0c;但没有一个博客能让我完全能看明白整个过程#xff0c;绝大多数都讲的不全面#xff0c;因此自己总结了一篇博客#xff0c;给自己理一下思…相机标定详解
最近做项目要用到标定因为是小白很多东西都不懂于是查了一堆的博客但没有一个博客能让我完全能看明白整个过程绝大多数都讲的不全面因此自己总结了一篇博客给自己理一下思路也能够帮助大家。张正友标定的详细求解还未完全搞明白后面再加
参考博客 相机标定Camera calibration原理、步骤 http://blog.csdn.net/lql0716/article/details/71973318?locationNum8fps1
相机标定内容详解 转载自祥的博客 http://blog.csdn.net/humanking7/article/details/44756073
张正友标定介绍 http://blog.csdn.net/heroacool/article/details/50286677
[图像]摄像机标定(2) 张正友标定推导详解 http://blog.csdn.net/humanking7/article/details/44756235
MATLAB–相机标定教程 http://blog.csdn.net/heroacool/article/details/51023921
在图像测量过程以及机器视觉应用中为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系必须建立相机成像的几何模型这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到这个求解参数内参、外参、畸变参数的过程就称之为相机标定或摄像机标定。无论是在图像测量或者机器视觉应用中相机参数的标定都是非常关键的环节其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此做好相机标定是做好后续工作的前提提高标定精度是科研工作的重点所在。 畸变distortion是对直线投影rectilinear projection的一种偏移。简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。畸变简单来说就是一条直线投影到图片上不能保持为一条直线了这是一种光学畸变optical aberration,可能由于摄像机镜头的原因。
坐标转换基础
在视觉测量中需要进行的一个重要预备工作是定义四个坐标系的意义即 摄像机坐标系 、 图像物理坐标系、 像素坐标系 和 世界坐标系参考坐标系 。
一、图像坐标系(x,y)至像素坐标系(u,v)
1.两坐标轴互相垂直 此时有 2.一般情况两轴不互相垂直图像畸变 此时有 写成矩阵形式为 二、相机坐标系(Xc,Yc,Zc)至图像坐标系(x,y) (根据小孔成像原理图像坐标系应在相机坐标系的另一边为倒立反向成像但为方便理解和计算故投影至同侧。)
根据三角形相似性原理得 三、世界坐标系(Xw,Yw,Zw)至相机坐标系(Xc,Yc,Zc) 四、合并公式 R、T矩阵为相机的外参矩阵。
畸变
畸变一般可以分为径向畸变、切向畸变 径向畸变来自于透镜形状。 切向畸变来自于整个摄像机的组装过程。 畸变还有其他类型的畸变但是没有径向畸变、切向畸变显著所以忽略不计。 径向畸变桶形畸变和枕形畸变 实际摄像机的透镜总是在成像仪的边缘产生显著的畸变这种现象来源于“筒形”或“鱼眼”的影响。 如下图光线在原理透镜中心的地方比靠近中心的地方更加弯曲。对于常用的普通透镜来说这种现象更加严重。筒形畸变在便宜的网络摄像机中非常厉害但在高端摄像机中不明显因为这些透镜系统做了很多消除径向畸变的工作。 对于径向畸变成像仪中心光学中心的畸变为0随着向边缘移动畸变越来越严重。 对于径向畸变可以通过下面的泰勒级数展开式进行校正 这里的x、y是图像中的畸变后的位置坐标通过校正得到真实坐标。r是该点距成像中心的距离。 切向畸变薄透镜畸变和离心畸变 切向畸变是由于透镜制造上的缺陷使得透镜本身与图像平面不平行而产生的。 切向畸变可以通过如下公式来矫正 这里的x、y是图像中的畸变后的位置坐标通过校正得到真实坐标。r是该点距成像中心的距离。 opencv畸变模型
径向畸变模型 切向畸变模型 可得 由公式可得畸变有k1,k2,k3,p1,p2五个参数对于质量比较好的相机来说切向畸变很小可忽略径向畸变系数k3也可忽略只计算k1,k2两个参数。张正友标定中就默认为p1,p2为0。
张正学标定中的畸变模型 标定方法
1、传统相机标定
最简单的相机标定为线性标定即不考虑相机的畸变而只考虑空间坐标转换。 每个坐标点有X,Y两个变量可列两个方程相机内参有5个未知数外参平移和旋转各3个共有11个变量因此至少需要6个特征点来求解。
2、非线性标定
当镜头畸变明显时必须考虑畸变一般较为便宜的网络摄像头畸变特别大而价格较贵的工业摄像头则畸变很小因为其中已经嵌入了许多消除畸变的程序。这时线性模型转化为非线性模型需要通过非线性标定方法求解。有最速下降法遗传算法高斯牛顿法和神经网络算法等。
3、张正友标定介绍
张正友标定只考虑了径向畸变没有考虑切向畸变
由上面的坐标转换可得 我们把世界坐标系放置在标定板平面上令Z0这时有 H为3X3矩阵并且有一个元素作为齐次坐标则有8个未知元素一组坐标对应两个方程则至少需要四组对应的点即可算出单应性矩阵H。
有
旋转矩阵为正交矩阵因此有以下性质 代入可得 由此可求出单应性矩阵A因A有5个元素则至少需要三个单应性矩阵方能求解那么就需要三张不同的标定图片这就是为什么标定需要用至少3张以上的图片的原因之一我还不是完全确定是这样
3.2.3 标定
相机标定步骤 1、打印一张棋盘格把它贴在一个平面上作为标定物。 2、通过调整标定物或摄像机的方向为标定物拍摄一些不同方向的照片。 3、从照片中提取棋盘格角点。 4、估算理想无畸变的情况下五个内参和六个外参。 5、应用最小二乘法估算实际存在径向畸变下的畸变系数。 6、极大似然法优化估计提升估计精度。 Matlab工具箱标定
1、应用程序中找到Camera Calibration 2、添加标定板拍摄图片按Ctrl可一次添加多张 3、输入棋盘格每格的尺寸大小 4、显示已检测出的棋盘格点击Calibration开始标定。 5、得到标定结果平均误差小于0.5即可认为结果可靠这个地方我还不是很清楚 6、可查看标定结果和程序