非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)

自动化设计基础-CCD9点标定

在机器视觉应用中,相机标定技术需要准确的相机内参数和外参数作为重构算法的输入和先决条件,通过标定算法,可以计算相机的投影矩阵。本文讲解机械手-相机9点标定原理

1.目的

建立相机坐标系与机械手坐标系的关系,通过标定可以把某一点的相机坐标

转换成机械手坐标,从而使视觉和运动相关联。

标定得到结果如下,

2.标定外参—平面坐标变换

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(1)

如图(1-1)设源坐标系内一点(x,y),用矩阵表示变换过程,这里(x,y)用向

量形式表示,若旋转角度为θ,那么

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(2)

其中(x',y')表示目标坐标系坐标,R为旋转变换矩阵,T为平移变换矩阵,上式

也可以写成如下形式,

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(3)

上述是已知坐标变换关系把一个平面内一点从一个坐标系变换到另一个坐

标系,这个过程称之为正解。逆解就是已知目标位置反求坐标关系,即我们要

做的标定过程。

由公式(2)坐标变换需要四个参数(cosθ,sinθ,dx,dy),一个点可以列两个方程,那么平面内求逆解至少需要两个点,如下

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(4)

点1、点2在源坐标系的坐标(x1,y1)、(x2,y2),在目标坐标系的坐标为(x1',y1')、(x2',y2')。

3.标定内参

理论上,建立两个平面坐标系之间的关系只需要两个点即可,实际情况相机

与成像平面都会有少许倾斜,会导像素的x、y方向所代表的实际物理尺寸不同,

这里需要一个补偿参数:纵横比Sx。内参标定的原理比较复杂,这里只做简单

介绍,

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(5)

如图(1-2)为机械手—相机模型,包含三个坐标系,即图像坐标系(u,v)、

摄像机坐标系(Xc,Yc,Zc)和机械手坐标系(Xw,Yw,Zw),我们要建立图像坐标系(u,v)与机械手坐标系(Xw,Yw,Zw)的关系。

图像坐标系(u,v)是定义在二维图像上的直角坐标系,以像素为单位,其

坐标原点一般定义在图像左上角,如图(1-3)所示,

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(6)

由上图可知像素值(u,v)与坐标(x,y)的关系为

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(7)

齐次矩阵形式为

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(8)

式5是在假定相机相元是矩形的情况下得到的,若相机相元有少许倾斜,则

要对该式进行修正,需要定义一个比例因子Sx来补偿,用α=tanθ来表示相元的

倾斜率,考虑以上则

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(9)

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(10)

K简称为摄像机标定矩阵,它只与相机内参数有关,定义了相机的一些基本

内部参数,表征了相机的几何光学性质。

而R、T为相机的标定外参数矩阵,它表征了相机的方位信息。选取9个点是为了求出内参矩阵和外参矩阵,具体运算过程比较复杂,这里

不做陈述,用编写好的标定算法可以直接实现,只需将9个点的图像坐标和机

械手坐标输入即可。

4.标定步骤

1)取成像平面的一固定点P,获取点P在图像坐标系的坐标和当前机械手的坐标;

2)移动机械手9次,顺序为P点在图像坐标系的位置内呈2字形,如下所示

并以此记录P点的图像坐标和对应的机械手坐标。

非标设计表面粗糙度讲解(自动化设计基础-CCD9点标定)(11)

3)将获取的9个图像坐标和对应的机械手坐标带入到标定程序,即得到标定结果。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页