第11章 HALCON标定方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HALCON编程基础与工程应用
镜头畸变的几种类型
(a)枕形畸变 (b)无畸变 (c)桶形畸变
(a)远心镜头零畸变 (b)普通镜头径向畸变 (c)普通镜头梯形畸变 HALCON编程基础与工程应用
11.2 标定理论 坐标系的转换 标定的内外参数
HALCON编程基础与工程应用
1、坐标系的转换
在图像测量、定位过程以及其它机器视觉应用中,为确定空间 物体表面某点的三维几何位置与其在图像中对应点之间的相互 关系,必须建立相机成像的几何模型,这些几何模型参数就是 相机参数。这个求解参数的过程就称之为相机标定。
求解出镜头的畸变参数,就可以把有畸变的图像变换到没有畸 变状态的图像。
HALCON编程基础与工程应用

X
f


Yf

Xd dx
Cx

Yd dy
Cy
图像像素坐标系的转化关系
HALCON编程基础与工程应用
2、标定的内外参数
外部参数:由前面可知,相机的外部参数是用来描述相机坐标系与世 界坐标系的关系,它表明相机在世界坐标系中的位置和方位,可用旋 转矩阵和平移向量来表示。实质上旋转矩阵只有三个独立参数,加上 平移向量的三个参数,故一共有6个独立的外部参数。
HALCON编程基础与工程应用
11.3 HALCON标定流程 相机参数确定 HALCON标定板规格 生成标定板
HALCON编程基础与工程应用
1、相机参数确定
相机分两种,一种是面扫描相机,也称面阵相机(Area Scan Camera),一 种是线扫描相机,也称线阵相机(Line Scan Camera)。准确来说,所谓的面扫 描摄像系统是指可以通过单纯曝光取得面积影像,而线扫描摄像系统,必须保证 相机和目标是相对运动的,然后利用相对运动速度才能取得影像。
HALCON编程基础与工程应用
从世界坐标系到相机坐标系
空间点Pw(Xw,Yw,Zw)转换到点 P(Xc,Yc,Zc):
P RPω
式中,R是旋转矩阵,T是平移向量。 每一个世界坐标的对象都可以通过旋转和平移变换到相机坐标
系上(旋转过程如下图)。将目标点旋转θ 角度,等价于将坐标系 按相反的方向旋转θ 角度。如下图所示,是二维坐标的旋转变换, 对于三维坐标而言,旋转中绕某一个轴旋转,原理与二维坐标旋转 相同。如果世界坐标分别绕 X、Y 和 Z轴旋转α 、β 、γ ,那么旋
针孔相机模型
基于针孔成像原理建立 目标
的相机成像模型。在相机的 成像模型中,包含有几个坐 标系:世界坐标系、相机坐 标系、图像坐标系。相机成 像过程的数学模型就是目标 点在这几个坐标系中的转化 过程。
HALCON编程基础与工程应用
三种坐标系定义
在计算机视觉中常采用右手定则来定义上图中的坐标系。图中存在三个
HALCON编程基础与工程应用
(2)方法二:用HALCON软件自动生成的.descr文件来制作标定板。 打开HALCON,输入算子gen_caltab,打开如图11-10所示的算子窗口, 生成一个.descr的文件,点击打开文件夹,会看到.descr文件,然后用 写字板打开(注意要用写字板,记事本打开会有一些数据不可见)。
不同层次坐标系,以下是对这三种坐标系的定义。 1.世界坐标系(Xw,Yw,Zw) 就是现实坐标系,或全局坐标系,它是客观世界的绝对坐标,由用户任 意定义的三维空间坐标系,一般的3D场景用的就是这种坐标(HALCON 标定中以标定板为参考坐标系基准)。 2.相机坐标系(Xc,Yc) 以小孔相机模型针孔平面上的聚焦中心为原点,以相机光轴为Zc构成三 维坐标系,其中Xc、Yc与成像平面坐标系平行。 3.图像坐标系:分为成像平面坐标系和图像像素坐标系。 成像平面坐标系(x,y):其原点为透镜光轴与成像平面交点,X、Y轴 分别平行于相机坐标系Xc轴和Yc轴,是平面直角坐标系,单位mm。 图像像素坐标系(u,v):固定在图像上的以像素为单位的平面直角坐 标系,其原点位于图像左上角,其横纵两轴(对于数字图像,是行和列) 分别平行于成像平面坐标系的横、纵坐标轴X、Y,这个也是HALCON中 表示图像坐标系的方法。
宽为一个圆点半径(0.9375) 黑色圆点半径:0.9375mm 圆点中心间距:3.75mm 裁剪宽度:30.75mm*30.75mm ,即由黑色边框向外
延伸0.375mm 边角:由黑色外边框向内缩进一个中心边距的长度
HALCON编程基础与工程应用
3、生成标定板
(1)方法一:用HALCON软件自动生成的.ps文件来制作标定板 这个也是最简单有效的方法。打开HALCON 软件,调用算子: gen_caltab( : :XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile : ), 具体参数如下: XNum:每行黑色标志圆点的数量; YNum:每列黑色标志圆点的数量; MarkDist :两个就近黑色圆点中心之间的距离; DiameterRatio:黑色圆点半径与圆点中心距离的比值; CalTabDescrFile: 标定板描述文件的文件路径(.descr标定板描述文件); CalTabPSFile:标定板图像文件的文件路径(.ps标定板图形文件)。 例:生成一个30*30的标准标定板的HALCON源代码: gen_caltab(7,7,0.00375,0.5,’F:/HALCON程序/gencaltab/30_30.descr’)
R(
)


0
1
0

sin 0 cos
cos sin 0
R( ) sin cos 0
0
0 1
总的旋转矩阵,也就是三者的乘积。
R(, , ) R()R( )R( )
平移矩阵T (tx,ty ,tz ) ,tx、ty、tz 是世界坐标系原点与相机坐标系目标点
HALCON编程基础与工程应用
11.4 HALCON标定助手
1、标定注意事项 HALCON中的标定助手为图像处理提供了一种很简便的标定方式,不仅简 化了标定步骤,也省去了繁琐的编程过程,我们只需要采集到符合标定 标准的标定板图像,了解设备的参数信息,比如相机类型、标定板厚度 等。 (1)标定板材质选用玻璃或者陶瓷材质为最好; (2)光源尽量在标定板前方,在与相机相反的方向; (3)标定板采集图像尽量在12幅以上,数量越多,所得的参数就越精确; (4)为了保证参数的精确性,要保证标定板的四角全部在视野范围内。 主要是因为一般标定板的四角畸变量比较大,需要通过四角的畸变程度 获得准确的畸变系数; (5)要保证标定板的标志点灰度值与其背景灰度值的差值在100以上, 否则HALOCN会提示有品质问题。
内部参数:内部参数只与相机内部结构有关,而与相机位置参数无关,
主个要像包元括的图高像宽主sx点、坐s标y ,(相c机x,的cy有)(效图焦像距与f相和机透光镜轴的相畸交变的失点真)系,数单k
等。主点坐标 ,理论上位于图像中心处,但实际上由于相机制作的 精度和使用过程中相机镜头可以转动和拆卸等原因,使得面阵相机并 不能保证其中心为透镜光轴,且图像采集数字化窗口的中心不一定与 光学中心重合,这就使得主点不一定在图像的中心,故而需要标定。。 单个像元的高、宽理论上应该是相等的,但是由于制造的误差,两者 不可能完全相等,因此需要根据实际情况对其进行修正。
HALCON编程基础与工程应用
成像平面上的投影点(点q)的变化过程
上图是将相机平面移至针孔与目标物体之间后的模型示意图,描述 的是在这个移动过程中,成像平面上的投影点(点q)的变化情况。
根据空间一点成像到图像平面上的路线,先由世界坐标系变换到相机 坐标系,然后又由相机坐标系变换到成像坐标系,但是这个过程有畸变, 需要进行变换处理,再由成像平面坐标系变换到图像像素坐标系,中间 大致分为以下几个步骤:
gen_caltab生成。
HALCON编程基础与工程应用
(3)find_caltab,找到标定板的位置。 (4)find_marks_and_pose,输出标定点的位置和外参startpose。 (5)camera_calibration,输出内参和所有外部参数。
HALCON编程基础与工程应用
2、HALCON标定板规格
(1)初始相机参数:
startCamPar:=[f,k,Sx,Sy,Cx,Cy,NumCol,NumRow]
f-焦距 k-初始为0.0195 Sx-两个相邻像素点的水平距离 Sy-两个相邻像素点的垂直距离 Cx、Cy-图像中心点的位置 NumCol、NumRow-图像长和宽 (2)caltab_points,读取标定板描述文件里面描述的点(X,Y,Z),描述文件由
之间的差值。
HALCON编程基础与工程应用
相机坐标系到图像坐标系
从相机坐标系到图像坐标系属于透视投影变换关系,即将3D图像信 息转换成2D图像信息。其中点P是相机坐标系中的点,点p(x,y)是像 极坐标系中的点P在图像坐标系上的投影点。
ABOC ~ oCOC
AB AOC PB XC ZC YC oC oOC pC x f y
HALCON编程基础与工Leabharlann Baidu应用
图像成像坐标系到图像像素坐标系
图像像素坐标系u-v是以图像左上角为原点,以图像互为直角的两个边 缘为坐标轴,满足右手准则而建立的。图像由一个个小的像素点组成,图 像像素坐标系的横纵坐标正是以像素点为单位,用来描述图像中每一个像 素点在图像中的位置。图像成像坐标系以光轴与像平面交点为原点建立, 图像成像坐标系的两个坐标轴分别与图像像素坐标系的坐标轴平行,并且 方向相同,如图所示,图像成像坐标系是以毫米为单位的直角坐标系 X-Y。 用(Xf ,Yf)来描述图像像素坐标系中的点,用(Xd ,Yd)来描述图像 成像坐标系中的点。图像成像坐标系的原点O在图像像素坐标系中的坐标为 (Cx, Cy),用 dx、dy 来表示相邻像素点中心在 X 轴方向和Y轴方向的实 际物理距离。
第11章 HALCON标定方法
◆ 11.1 标定的目的 ◆ 11.2 标定理论 ◆ 11.3 HALCON标定流程 ◆ 11.4 HALCON标定助手 ◆ 11.5 标定应用例程之二维测量
HALCON编程基础与工程应用
11.1 标定的目的
相机需要标定的原因之一就是镜头畸变。所有光学相机镜头都存 在畸变的问题,畸变属于成像的几何失真,它是由于焦平面上不同 区域对影像的放大率不同而形成的画面扭曲变形现象,这种变形的 程度从画面中心至画面边缘依次递增,主要在画面边缘反映的较为 明显。所以相机标定就是为了消除相机镜头在拍摄过程中产生的畸 变。 镜头畸变分类:桶形畸变和枕形畸变,也有的分为径向畸变和梯 形畸变。
转矩阵分别为 R()、R( )、R( ) 。
HALCON编程基础与工程应用
x' cos sin x

y'



s in
c
os


y
1 R( ) 0
0
0 c os sin
0

sin


cos
cos 0 sin
(1)30*30 规定的标定板的规格(2)40*40 规定的标定板的规格 (3)50*50 规定的标定板的规格(4)60*60 规定的标定板的规格
以30*30 规定的标定板的规格为例: 黑色圆点行数:7 黑色圆点列数:7 外边框长度:30mm*30mm 内边框长度:28.125mm*28.125mm ,即黑色边框线
PBOC ~ pCOC
x f X C , y f YC
ZC
ZC
可得如下坐标转换矩阵:
x f
ZC

y


0
1 0
0 f 0
0 0 1
0 0 0

XC YC ZC 1

此时投影点p的单位还是mm,并不是pixel(像素),需要进一步转换到像素 坐标系。
HALCON编程基础与工程应用
标定板图像
(a)
(b)
(c)
HALCON编程基础与工程应用
(d)
2、 HALCON标定助手标定过程
步骤1: 打开标定助手,设定描 述文件,标定板厚度,相机类 型、焦距等参数。
相关文档
最新文档