专栏首页机器视觉那些事儿【相机标定篇】单目相机标定原理(1)

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

经济基础决定上层建筑

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')

本文分享自微信公众号 - 机器视觉那些事儿(jiqishijue),作者:三清

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【相机标定篇】Halcon标定助手逐步使用(2)

    最近一直在现场做一个比较重要的项目,也近两个月了,深入自动化行业愈久,愈发觉得此行业的艰辛,也更加希望国家在资源上能更倾向此行业。可能西方国家早已在二战...

    threeQing
  • 【相机标定篇】halcon自标定(3)

    在项目中,偶尔会遇到由于产品形状、拍摄位置等原因导致标定板很难放置的情况,此时可以考虑使用halcon自标定算法来标定相机。由于自标定可以在不使用用标定板情况下...

    threeQing
  • 【测量篇】(3)标定+定位+1D测量综合实例

    在后台收到信息,莫名其妙被人投诉了,不知触犯了哪些人的利益,本人依然会本着分享交流的精神,共促行业的繁荣。如果您能一路跟过来,halcon视觉入门到提高,完全没...

    threeQing
  • 综述 | 相机标定方法

    在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数...

    小白学视觉
  • 综述 | 相机标定方法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    用户1150922
  • 综述 | 相机标定方法

    在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数...

    AI算法与图像处理
  • 高级 Vue 组件模式 (5)

    在之前的文章中,详细阐述了子组件获取父组件所提供属性及方法的一些解决方案,如果我们想在父组件之中访问子组件的一些方法和属性怎么办呢?设想以下一个场景:

    littlelyon
  • ACM-ICPC 2019 山东省省赛 C Wandering Robot

    这个题额,我觉的是一道水题,思维题,需要考虑的情况比较多,题意一个机器人给一条指令,循环n遍,问此过程中离原点最远距离。 考虑最远距离可能出现的的情况。 每...

    风骨散人Chiam
  • 基于HTML5快速搭建3D机房设备面板

    HT_hightopo
  • 基于HT for Web 快速搭建3D机房设备面板

    以真实设备为模型,搭建出设备面板,并实时获取设备运行参数,显示在设备面板上,这相比于纯数值的设备监控系统显得更加生动直观。今天我们就在HT for Web的3D...

    HT for Web

扫码关注云+社区

领取腾讯云代金券