OPT小讲堂 ∣ SciSmart之标定应用

供稿:广东奥普特科技股份有限公司

在第十六课中,我们讲了 SciSmart之Scriptor脚本编程应用。

今天,我们将介绍SciSmart之标定应用


相机标定简介


相机标定的作用:标定是实现准确测量和获取准确位置信息的基础,其主要作用是建立图像像素尺寸与实际尺寸的关系、以及建立图像坐标系与世界坐标系的映射关系。

相机标定的场景及解析:


1-标定主界图.jpg

图1  标定主界图


2-标定场景解析.jpg

表1:标定场景解析


本文以点距标定和手眼标定为例,进行原理、步骤、用途等详解。


点距标定


点距标定:用于标定相机的像素当量。

适用场合:适用于仅能够单方向移动的场景,例如单轴伺服。

像素当量的计算公式:实际距离/像素距离=像素当量,本例即10/100=0.1(mm/pix)。

机械坐标:P1(0,10)  P2(0,20)

像素坐标:P1(0,10)  P2(0,110)


3.jpg


1 点距标定-图像设置        

                                                                          

4-点距标定结果界面.jpg


图2  点距标定图像设置页面 


1.1 引入点:是否从外部引入点数据。

1.2 图像获取方式:图片来源既可“选择相机”也可“选择文件夹”。

1.3 镜像:对图片来源是否进行镜像操作,可选择无、垂直、水平、中心等。

1.4 旋转:对图片来源是否进行旋转,可选择无、90、180、270。旋转方向是逆时针旋转,同时选择镜像和旋转操作会先镜像,对镜像结果图逆时针旋转相应角度。

1.5 粗定位算法:可调用灰度匹配、特征匹配、轮廓匹配、Blob分析、卡尺算法。

1.6 精定位算法:需先通过粗定位生成基准点,再使用精定位算法进行 Mark 点定位。可调用找圆、两直线交点算法。

1.7 图像数目:为了获取 两个点在图像中的坐标。

  • 两幅图像:从2幅图中每次获取1个点。

  • 一幅图像:从1幅图中获取2个点。

1.8 实际距离:两个 Mark 点间的实际距离。

1.9 保存图像:是否保存标定过程中的图像。若勾选,则按照时间边处理边保存图像在程序目录下的 Picture 文件夹中;若不勾选,则不保存。

1.10 下一步:设置好参数后,点击下一步按钮。


点距标定-结果界面


5-点距标定图像设置界面.jpg

3  点距标定结果页面


2.1 图像距离:两个 Mark 点的像素距离。

2.2 实际距离:两个 Mark 点的实际距离。

2.3 像素当量:实际距离与像素距离的比值。


手眼标定


6.jpg


1 世界坐标系与图像坐标系点位的对应关系


7.jpg


世界坐标系与图像坐标系点位要逐一对应


8.jpg


手眼标定的基本流程

3.1 创建新的标定文件


9.jpg


3.2 编写Mark点定位算法:


10-手眼标定-图像设置页面.jpg

图4 手眼标定-图像设置页面 


3.2.1 引入点:是否从外部引入点数据。

3.2.2 图像获取方式:图片来源既可“选择相机”也可“选择文件夹”。

3.2.3 镜像:对图片来源是否进行镜像操作,可选择无、垂直、水平、中心等。

3.2.4 旋转:对图片来源是否进行旋转,可选择无、90、180、270。旋转方向是逆时针旋转,同时选择镜像和旋转操作会先镜像,对镜像结果图逆时针旋转相应角度。

3.2.5 粗定位算法:可调用灰度匹配、特征匹配、轮廓匹配、Blob分析算法。

3.2.6 精定位算法:需先通过粗定位生成基准点,再使用精定位算法进行 Mark 点定位。可调用找圆、两直线交点算法。

3.2.7 图像数目:为了获取多个点在图像中的坐标。

  • 多幅图像:从多幅图像中每次获取一个点。

  • 一幅图像:从一幅图中获取多个点。

3.2.8 选择矫正文件:如果图像存在畸变,则需要使用,勾选复选框,加载畸变矫正文件,在标定过程中先校正图像,然后进行九点标定;如果不存在畸变,则不勾选。

3.2.9 保存图像:是否保存标定过程中的图像。若勾选,则按照时间边处理边保存图像在程序目录下的 Picture 文件夹中;若不勾选,则不保存。

3.2.10 下一步:设置好参数后,点击下一步按钮。


3.3 输入机械坐标点位:


11-手眼标定-机械坐标设定页面.jpg

图5  手眼标定-机械坐标设定页面


3.3.1 标定方式:手动标定、半自动标定、自动标定,选择手动标定。

3.3.2 验证:若勾选,则需要 13 个点,前 9 个点用来生成标定矩阵并计算标定误差,后 4 个点参与计算验证误差;若不勾选,则只需要 9 个点,用来计算标定矩阵和标定误差。

3.3.3 标定自由度:平面、倾斜。

3.3.4 标定点数:自定义标定的点位数量。

3.3.5 机械坐标。

  • 基准点:用于进行标定所取点位的中心点。

  • 点间距:每个点之间的X和Y间距。可根据中心点和点间距计算每个点的机械坐标。

  • 坐标行数:所取坐标点位的分布行数。

  • 生成机械坐标:输入中心点和点间距,点击该按钮,生成9点或13点机械坐标。

  • 读取坐标(.csv):点击该按钮,可读取保存有机械坐标的 csv 文件。

  • 上一步:点击“上一步”按钮,返回到图像设置界面,可对参数重新进行设置。

  • 标定:参数设置完成后,点击“标定”按钮,进入到标定界面。


3.4 确认点位的顺序,执行标定:

标定误差:根据前9个点生成的标定矩阵计算出的误差最大值。

验证误差:根据生成的标定矩阵计算后4个点的误差最大值,未勾选验证则为0。


12-手眼标定-结果页面.jpg

图6  手眼标定-结果页面


3.5标定结果的验证

3.5.1未使用标定工具,得到的有效数据只有像素坐标系下的坐标。


13-引用标定结果-前图.jpg

图7  引用标定结果-前图


3.5.2 标定文件的引用


14.jpg


3.5.3使用标定工具,得到的有效数据除了像素坐标,也有世界坐标。


15-引用标定结果-后图.jpg

图8  引用标定结果-后图


3.6 手眼标定及验证视频演示



发布时间:2020年7月16日 8:34 人气: 审核编辑:刘婷
更多内容请访问(广东奥普特科技股份有限公司

我有需求