工业互联网(十四)——相机标定(Camera calibration)原理、步骤
转载:
最详细、最完整的相机标定讲解
图像处理——相机标定(Camera calibration)
相机标定
相机标定(Camera calibration)原理、步骤
工业相机标定相关知识整理
相机标定——标定图片拍摄规范
相机标定中部分疑问和注意事项
张正友相机标定Opencv实现以及标定流程&&标定结果评价&&图像矫正流程解析(附标定程序和棋盘图)
世界坐标与像素坐标的相互转换
张正友相机标定程序实现
单目相机提高标定精度的经验(转载)
计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换(转载)
内参、外参、畸变参数三种参数与相机的标定方法与相机坐标系的理解
计算机视觉-相机内参数和外参数
相机标定(Camera calibration)
相机参数标定(camera calibration)及标定结果如何使用(转载)
1.为什么要相机标定?
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。
【1】进行摄像机标定的目的:求出相机的内、外参数,以及畸变参数。
【2】标定相机后通常是想做两件事:一个是由于每个镜头的畸变程度各不相同,通过相机标定可以校正这种镜头畸变矫正畸变,生成矫正后的图像;另一个是根据获得的图像重构三维场景。
摄像机标定过程,简单的可以简单的描述为通过标定板,如下图,可以得到n个对应的世界坐标三维点Xi和对应的图像坐标二维点xi,这些三维点到二维点的转换都可以通过上面提到的相机内参K ,相机外参 R 和t,以及畸变参数 D ,经过一系列的矩阵变换得到。
2.什么叫相机标定?
在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)
3.为什么相机标定很重要?
无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。
4.相机标定方法有哪些?
相机标定方法有:传统相机标定法、主动视觉相机标定方法、相机自标定法。
传统相机标定法需要使用尺寸已知的标定物,通过建立标定物上坐标已知的点与其图像点之间的对应,利用一定的算法获得相机模型的内外参数。根据标定物的不同可分为三维标定物和平面型标定物。三维标定物可由单幅图像进行标定,标定精度较高,但高精密三维标定物的加工和维护较困难。平面型标定物比三维标定物制作简单,精度易保证,但标定时必须采用两幅或两幅以上的图像。传统相机标定法在标定过程中始终需要标定物,且标定物的制作精度会影响标定结果。同时有些场合不适合放置标定物也限制了传统相机标定法的应用。
目前出现的自标定算法中主要是利用相机运动的约束。相机的运动约束条件太强,因此使得其在实际中并不实用。利用场景约束主要是利用场景中的一些平行或者正交的信息。其中空间平行线在相机图像平面上的交点被称为消失点,它是射影几何中一个非常重要的特征,所以很多学者研究了基于消失点的相机自标定方法。自标定方法灵活性强,可对相机进行在线定标。但由于它是基于绝对二次曲线或曲面的方法,其算法鲁棒性差。
基于主动视觉的相机标定法是指已知相机的某些运动信息对相机进行标定。该方法不需要标定物,但需要控制相机做某些特殊运动,利用这种运动的特殊性可以计算出相机内部参数。基于主动视觉的相机标定法的优点是算法简单,往往能够获得线性解,故鲁棒性较高,缺点是系统的成本高、实验设备昂贵、实验条件要求高,而且不适合于运动参数未知或无法控制的场合。
5、常用术语
内参矩阵: Intrinsic Matrix
焦距: Focal Length
主点: Principal Point
径向畸变: Radial Distortion
切向畸变: Tangential Distortion
旋转矩阵: Rotation Matrices
平移向量: Translation Vectors
平均重投影误差: Mean Reprojection Error
重投影误差: Reprojection Errors
重投影点: Reprojected Points
6.相机成像原理
6.1 世界坐标系
世界坐标系(world coordinate),也称为测量坐标系,是一个三维直角坐标系,以其为基准可以描述相机和待测物体的空间位置。世界坐标系的位置可以根据实际情况自由确定。
6.2 相机坐标系
相机坐标系(camera coordinate),也是一个三维直角坐标系,原点位于镜头光心处,x、y轴分别与相面的两边平行,z轴为镜头光轴,与像平面垂直。
6.3 相机坐标系转换为世界坐标系
转换方程为:
其中为33的旋转矩阵,为31的平移矢量,为相机坐标系的齐次坐标,为世界坐标系的齐次坐标。
具体步骤为下图所示:
图6.3.1
图6.3.2
图6.3.3
6.4 像素坐标系、图像坐标系
图6.4.1
像素坐标系(pixel coordinate)
图6.4.1 ,像素坐标系是一个二维直角坐标系,反映了相机CCD/CMOS芯片中像素的排列情况。原点位于图像的左上角,轴、轴分别于像面的两边平行。像素坐标系中坐标轴的单位是像素(整数)。
像素坐标系不利于坐标变换,因此需要建立图像坐标系,其坐标轴的单位通常为毫米(mm),原点是相机光轴与相面的交点(称为主点),即图像的中心点,轴、轴分别与轴、轴平行。故两个坐标系实际是平移关系,即可以通过平移就可得到。
6.5 像素坐标系转换为图像坐标系
其中,、分别为像素在、轴方向上的物理尺寸,为主点(图像原点)坐标。(这里 =dx)
6.6 相机坐标系转换为图像坐标系
针孔成像原理
如图中,空间任意一点与其图像点之间的关系,p与相机光心 的连线为op,与像面的交点即为空间点在图像平面上的投影。 该过程为透视投影,由上图的矩阵表示。
其中,Zc为比例因子(Zc不为0),为有效焦距(光心到图像平面的距离),是空间点在相机坐标系中的齐次坐标,是像点在图像坐标系中的齐次坐标。
6.7 世界坐标系转换为像素坐标系
上面的式子也等于:MXw ,其中M成为投影矩阵,是相机内参矩阵和相机外参矩阵的乘积。
其中 f 为摄像机的焦距,单位一般是mm;dx,dy 为像元尺寸;u0,v0 为图像中心。fx = f/dx, fy = f/dy,分别称为x轴和y轴上的归一化焦距.
为更好的理解,举个实例:
现以NiKon D700相机为例进行求解其内参数矩阵:
就算大家身边没有这款相机也无所谓,可以在网上百度一下,很方便的就知道其一些参数——
焦距 f = 35mm 最高分辨率:4256×2832 传感器尺寸:36.0×23.9 mm
根据以上定义可以有:
u0= 4256/2 = 2128 v0= 2832/2 = 1416 dx = 36.0/4256 dy = 23.9/2832
fx = f/dx = 4137.8 fy = f/dy = 4147.3
其中相机的内参和外参可以通过张正友标定获取。通过最终的转换关系来看,一个三维中的坐标点,的确可以在图像中找到一个对应的像素点(为什么?你自己想想矩阵的运算,你就可以知道了),但是反过来,通过图像中的一个点找到它在三维中对应的点就很成了一个问题,因为我们并不知道等式左边的Zc的值。
工业互联网(十四)——相机标定(Camera calibration)原理、步骤相关推荐
- matlab棋盘格标定角点,相机标定(Camera calibration)Matlab——棋盘格标定原理,流程...
计算机视觉----相机标定 相机标定概念:图像测量过程以及计算器视觉中,为确定空间物体某点的三维几何关系位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,模型的参数就是相机的参数.求解 ...
- OpenCV-Python相机标定:Camera Calibration
1.概述: 在使用相机拍照片时,大多数人会考虑拍的好不好看,关注相机中物体坐标的并不多,但是对于地信学科来说,如果能从照片中获取物体的真实位置,对地理信息获取大有帮助,在这里面,十分关键的一步就是相机 ...
- 相机标定(Camera calibration)
前言:非测量相机 用于摄影测量的相机总体上可分为量测相机和非量测相机.对于专门为测量而设计的量测相机,具有已知的内方位元素.焦距.较小的镜头畸变以及定向设备,能达到相当高的精度:相对于价格较贵且设备复 ...
- 计算机视觉-相机标定(Camera Calibration)
1.相机标定基本原理 1.1 简介 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数 ...
- 【工业互联网】全球工业互联网十大最具成长性技术展望(2019-2020年)
来源:中国工业互联网研究院 来源:中国工业互联网研究院 全球工业互联网十大 最具成长性技术展望 (2019-2020年) 工业互联网 工业互联网是第四次工业革命的重要基石,在世界范围已步入发展快车道, ...
- 原创 | 国内首批工业互联网十大双跨平台建设现状如何?
根据世界银行的数据,中国工业占国内生产总值的41%,占世界工业总值的22%,超过世界上任何一个国家.但是工业企业面临着严峻挑战,在这一过程中工业互联网平台是实现产业转型的关键,因此中国越来越多的厂商通 ...
- 全球工业互联网十大最具成长性技术
来源:经济参考报 为准确把握全球工业互联网战略方向,及时跟踪工业互联网创新动态及特征态势,前瞻研判工业互联网产业化重大布局,中国工业互联网研究院任近来调研走访了一批在工业互联网相关技术及产业方面具备领 ...
- OpenCV相机校准camera calibration的实例(附完整代码)
OpenCV相机校准camera calibration的实例 OpenCV相机校准camera calibration的实例 OpenCV相机校准camera calibration的实例 #inc ...
- 【相机标定与三维重建原理及实现】学习笔记1——相机模型数学推导详解
目录 前言 一.小孔成像模型 二.坐标系的变换 1.世界坐标系到相机坐标系的变换(刚体变换)[xw^→xc^\boldsymbol {\hat{x_{w}}}\rightarrow \boldsymb ...
- 2021年大数据HBase(十四):HBase的原理及其相关的工作机制
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的原理及其相关的工作机制 一.HBase的flus ...
最新文章
- NASA将天文数据转换为音频,来听听银河系的声音!
- 谷歌TF2.0凌晨发布!“改变一切,力压PyTorch”
- 成功解决OSError: [Errno 28] No space left on device
- 删除github上某个release/tag
- 【redis】使用 URI 配置 redis
- SAP Spartacus 4.0 ng serve 之后,localhost 4200 会后面自动添上 electronics-spa 吗?
- 关于我自己的三个层次
- JAVA_if或者怎么用,Java If语句
- 计算机技能大赛试题及答案,全国中职计算机技能大赛(园区网)试题及参考答案...
- C语言_顺序结构的程序设计
- C# winform程序怎么打包成安装项目(图解)
- win10计算机扫描,win10系统测试一体机扫描仪功能的解决教程
- axis2 java.net.url_axis2调用.net写的webservice接口实现,指定参数名
- django url 中的namespace详解
- 拟阵:贪心原理(bzoj 3105: [cqoi2013]新Nim游戏)
- 用jquery编写简易计算器
- python风控建模培训
- Java基础学习总结(98)——阿里巴巴Java开发手册
- KeyShot中的半透明材质怎样来创建液体
- Python PIL Image的使用