前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【相机标定篇】单目相机标定原理(1)

【相机标定篇】单目相机标定原理(1)

作者头像
threeQing
发布2019-06-03 11:00:34
3.2K0
发布2019-06-03 11:00:34
举报

经济基础决定上层建筑

1、什么是标定?需要标定什么?为什么需要标定?

空间物体呈现的是三维几何位置,相机内的投影图像为二维位置,所以,确定空间物体某点的三维几何位置与其投影图像中对应点的关系,就是标定

需要确定标定关系,必须建立物体与相机的投影数学模型,即相机成像的几何模型。构建几何模型的数学参数就是需要标定的内容,即相机的内外参数。内参是相机的工艺参数,包括焦距,主距,畸变系数,相邻像素距离等。外参是相机的位置参数,包括旋转角度,平移距离等。

由此而得知,为了确定物体与成像的映射关系才需要标定的结论。但是,由于受到光学生产工艺的影响,相机镜头在制造生产后,其成像总会呈现或多或少的畸变。只有在消除畸变的情况下,才能获取准确的映射关系,进一步有利于进行高精度测量和定位。所以,为了确定准确的映射关系才是标定的原因。

2、相机标定原理

相机成像模型简化如下图所示。

从右至左分别建立世界坐标系,相机坐标系,图像坐标系。

1)世界坐标系,一般是产品所在平面所建立的世界绝对坐标系。

2)相机坐标系,以镜头中心为原点,所构建的坐标系。

3)图像坐标系,分为成像平面坐标系和图像像素坐标系

a)成像平面坐标系:如图中成像原理所构成的成像坐标系

b) 最终呈现给用户的图像显示形式,以左上角为原点构建的坐标系。

所以相机标定原理的核心就是坐标系转换。

转换步骤如下:

1)世界坐标系转相机坐标系;

2)相机坐标系转成像平面坐标系;

3)成像平面坐标系转图像像素坐标系;

第2)步骤中,一般先将相机坐标系转换至理想成像平面坐标系,再进行相机镜头的畸变矫正,转换至真实的成像平面坐标系。

根据矩阵论,空间上一点乘以一个矩阵,相当于旋转至另一个位置,加上一个向量,相当于平移到另一个位置。最终得到如下数学公式:

其中,u,v为图像坐标系坐标点,X为世界坐标系坐标点,z为工作距离, αx=f/dx , αy=f/dy,称为u、v轴的尺度因子,M1称为相机的内部参数矩阵,M2称为相机的外部参数矩阵,M称为投影矩阵。

所以,求得内外参即可将X转换至u、v。

3、标定板

令人欣慰的是, 我们不需要将繁琐的标定步骤细化至程序实现,利用标定板与Halcon自带的标定助手,就可完成以上过程。

通常在标定过程中,将标定板方至测量平面,以标定板为参考坐标系基准,建立世界坐标系,如下图所示。后续的标定过程可以借助halcon标定助手完成。

标定板的获取可以从相关厂商购买,也可利用halcon软件自动生成,当然后者生成后,再打印出来,精度肯定会略差一些,用于一些精度要求不高的测量和应用的场合,也可用于学习。

利用Halcon软件自动生成的.ps文件制作标定板

这个方法是最简单有效的。打开软件,调用算子:

gen_caltab( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : )

参数含义:

XNum:每行黑色标志圆点的数量。

YNum:每行黑色标志圆点的数量。

MarkDist:两个就近黑色圆点中心之间的距离。

DiameterRstio:黑色圆点半径与圆点中心距离的比值。

CalPlateDescr:标定板描述文件的文件路径(.descr文件为标定板描述文件)。

CalPlatePSFile:标定板图像文件的文件路径(.ps文件为标定板图形文件,可利用PS类软件打开)。

例:生成一个30*30的标定板的Halcon源代码为

gen_caltab(7,7,0.00375,0.5,'F:/HALCON程序/gencaltab/30_30.descr')

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器视觉那些事儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档