Halcon!!!最新!! 从零认识标定板——制作描述文件和自己的标定板

一.标定板简介

标定板是一种带有固定间距图案阵列的几何模型,主要用于机器视觉、图像测量、摄影测量、三维重建等领域。‌它的主要功能包括校正镜头畸变、确定物理尺寸和像素间的转换关系,以及确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系。通过相机拍摄标定板并计算校准算法,可以获得高精度的测量和重建结果。标定板的这个过程涉及误差测量与评估以及误差图像的矫正与补偿,通过这些步骤,可以更精确地反映被测物品的实际情况,达到精密测量和检测的目的‌。此外,标定板应用体现了其在提高机器视觉系统精度方面的重要性。通过标定板的使用,能够有效地校正镜头畸变,大大提高了机器视觉应用中图像测量、摄影测量的精度。这一过程不仅涉及专业标定算法的应用,还包括对图像进行校正与补偿,以确保测量的准确性‌。

二.网购标定板制作描述文件创作

1.认识网上描述参数

如果网络上购买的标定板没有提供Halcon的描述文件(.descr文件),首先你要明确,你需要什么参数

2.认识描述文件制作算子(以GB050-1.875为例子)
gen_caltab(7, 7, 0.00375, 0.5, 'C:/path/to/your/folder/caltab.descr', 'C:/path/to/your/folder/caltab.ps')
  • 7, 7表示标定板上有7行7列的圆点
  • 0.00375是圆点中心之间的间距(单位:米)。
  • 0.5是圆点直径与间距的比值。(为上述图片直径除中心距的值)
  • 描述文件即使.descr
  • .ps为印刷文件

三.根据描述文件制作CAD或CorelDraw印刷图片(240*240文件放置到资料中,包含dwg和描述文件 pdf)

1.标定板描述文件内部参数

用文本框打开文件——.descr

 

2.根据描述文件制作
  •  长宽参数棋盘格单位m:# Width, height of calibration plate [meter]: 0.24, 0.24
  • 圆的圆心和圆心之间的距离和半径 有上述描述文件制作可得

                            总的原心起始位位于240*240的中间点

  • 标定板倒角位置(上述原心起始位位与0.0点)单位m
  • #   triangular corner mark given by two corner points (x,y, x,y) [meter]#   (optional):
  • t -0.12 -0.09 -0.09 -0.12

  • 标定板线宽   #   width of the black frame [meter]:w 0.0075

3.高精度无毛边软件CorelDraw

CorelDraw(通常简称为CDR)作为一款由加拿大Corel公司开发的矢量图形设计软件,具有诸多显著的优点,这些优点使得CorelDraw在平面设计、插图绘制、排版设计等多个领域得到广泛应用。以下是对CorelDraw优点的详细归纳:

1. 强大的矢量绘图功能

丰富的绘图工具:CorelDraw提供了包括圆形、矩形、多边形、方格、螺旋线等在内的多种基本绘图工具,并配合塑形工具,可以创作出各种复杂的图形,如圆角矩形、弧、扇形、星形等。

特殊笔刷效果:软件内置了压力笔、书写笔、喷洒器等特殊笔刷,使得绘图过程更加灵活多变,能够充分利用电脑处理信息量大、随机控制能力高的特点。

2. 精准的图形控制和定位

图形精确定位:CorelDraw提供了一整套的图形精确定位和变形控制方案,这对于需要准确尺寸的设计(如商标、标志等)来说极为便利。

节点编辑工具:节点编辑工具易于激活和控制,任何时候双击物件即可进行节点编辑,使得图形修改更加精确和高效。

Halcon相机标定代码.hdev 1.初始化 for example: Full image (640*480) Subsampling (320*240) ImageWidth 640 320 ImageHeight 480 240 2.标定板初始化 CaltabName := 'caltab_30mm.descr'//标定板描述文件 set_calib_data_calib_object (CalibDataID, 0, CaltabName) 3.创建数据模型 create_calib_data ('calibration_object', 1, 1, CalibDataID) 4.获取标定图片 相机拍摄不同位姿下图片8-15张,拍摄图片时标定板尽量覆盖整个视场(标定板要根据工作距离、视场大小定制);拍摄图片上的圆直径不得小于10个像素 5.加载所有图像,寻找标定板区域,确定圆心,将结果加载到组元中 for I := 1 to NumImages by 1 ... acquire image ... find_caltab (Image, Caltab, CaltabName, SizeGauss, MarkThresh, MinDiamMarks) find_marks_and_pose (Image, Caltab, CaltabName, StartCamPar, StartThresh, \ DeltaThresh, MinThresh, Alpha, MinContLength, MaxDiamMarks, RCoord, CCoord, StartPose) set_calib_data_observ_points (CalibDataID, 0, 0, I, RCoord, CCoord, 'all', StartPose) endfor 下面将Halcon中提取目标点的大致原理说一下: 首先find_caltab 算子对图像高斯滤波(核大小为SizeGauss),接着阈值分割(与之大小为MarkThresh)将标定板的区域找出来, find_marks_and_pose 算子对区域中的圆进行分割,找到圆的个数,周长,坐标位置等应该和标定板描述文件中的一致,否则会自动调整StartThresh,使得StartThresh按照DeltaThresh步长减小到MinThresh,知道找到准确的圆心。 6.有了所有图像中的圆心就可以标定了 calibrate_cameras (CalibDataID, Errors) 返回平均投影误差Errors
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉小萌新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值