HALCON 2D高精密测量项目全流程解析

1.标定相关的任务–>>解决畸变和坐标系的转换

1.1 描述和查找标定对象

1.2 补偿透视和径向变形,径向畸变包括枕形畸变和桶形畸变

1.3 相机参数(内外参)

1.4 图像坐标到世界坐标的转换

1.5 自标定:不用标定板用图像四周包含直线特征进行标定

1.6 其他标定:一台相机标定、多台相机标定、手眼标定

2.分割模型(Division)

分割模型使用一个参数(k)对径向变形进行建模,光学中心就在图像中心

【k>0枕形畸变】 【k=0没有畸变】 【k<0桶形畸变】

[‘area_scan_division’,Focus,Kappa,Sx,Sy*,Cx,Cy,ImageWidth,ImageHeight]

Focus:焦距

Kappa:k值,初始值为0

Sx,Sy*:中心缩放比例

Cx,Cy:图像中心

ImageWidth,ImageHeight:图像大小

3.多项式模型(polynomial):光学中心可能不在图像中心

多项式模型使用三个参数(K1,K2,K3)对径向变形进行建模,并使用两个参数(P1,P2)对偏心变形进行建模

[‘area_scan_polynomial’,Focus,K1 ,K2,K3,P1,P2,Sx,Sy*,Cx,Cy,ImageWidth,ImageHeight]

Focus:焦距

K1 ,K2,K3,P1,P2:多项式模型参数,初始值为0

Sx,Sy*:中心缩放比例

Cx,Cy:图像中心

ImageWidth,ImageHeight:图像大小

4.透视畸变

被摄物越远,显得越小;镜头离被摄体越远,被摄体外观上的大小变化越小

透视畸变术语三维畸变的范畴,同意姿态可以看作为透视变化的特殊形式。单相机无法解决透视畸变

单相机和四轴机器人标定的主要误差也是透视畸变

5.倾斜镜头:旋转描述旋转轴的方向,倾斜度描述了镜头的实际倾斜度

area_scan_tilt_ * 普通FA镜头倾斜

area_scan_tilt_image_side_telecentric_* 像方倾斜

area_scan_tilt_object_side_telecentric_* 物方倾斜

area_scan_tilt_bilateral_telecentric_* 双远心倾斜

【tilt 倾斜】【bilateral 双边】【telecentric 远心】

6.相机标定内参

CameraType:摄像机类型

Focus:镜头焦距(仅适用于在镜头物侧执行透视投影的镜头,远心镜头设置0)初始值为所用镜头的标称焦距,例如0.008mm

Magnification:镜头的放大倍率(仅用于物侧远心镜头)

Kappa(K):变形系数,用于建模镜头的径向和偏心变形(仅用于多项式模型),将0.0用作所有五个系数的初始值

ImagePlaneDist:镜头出瞳(小孔)到像平面(Sensor)的距离

Tilt,Rot:旋转轴是广州相对于传感器平面法线倾斜的角度。旋转角度是围绕光轴(z轴)的旋转。这些角度通常基于导致使用倾斜透镜的考虑因素而大致已知,或者可以从倾斜透镜的机构中读取

Sx,Sy:比例因子

Cx,Cy:径向畸变的中心,使用图像的半宽和半高作为初始值

ImageWidth,ImageHeight:采样图像的宽度和高度

Vx,Vy,Vz:运行矢量的X,Y和Z分量(先扫模型)

在这里插入图片描述

7.六边形标定板

7.1 至少看到一种取景器图案才能找到校准板。为了确保印版没有倒转,至少需要看到二个。
  7.2 坐标系的起点位于第一个取景器图案的中心标记的中心。坐标系的z轴指向校准板, x轴指向右侧, y轴指向下方,沿z轴方向观察。
  7.3 优点:标定板不必在图像中完全可见

对应算子:create_caltab

在这里插入图片描述
在这里插入图片描述
Halcon标定程序,使用标定助手会更简单

*create_caltab生成六边形标定板
*标定的Marks点,13行每行15个

  • 66
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hi~ 可私信我了解后再进行下载~ 1.基于halcon算法平台; 2.提供深度图源文件以及解压密码; 3.代码预览: */******************************* * @文档名称: 基于点云的平面断差测量。 * @作者: hugo * @版本: 1.1 * @日期: 2021-6-20 * @描述: 该方法支持点云的平面的断差测量。 ***********************************/* dev_update_window ('on') dev_get_window (WindowHandle) read_image (imageReal, './replay_38893_2021-6-7.tif') xResolution:=0.06 yResolution:=0.06 zResolution:=0.001 ScaleFactor:=[xResolution,yResolution,zResolution] *采样区域1 create_drawing_object_rectangle2 (300, 120, rad(90), 30, 20, DrawID) set_drawing_object_params (DrawID, 'color', 'forest green') set_drawing_object_params (DrawID, 'line_width', 1) attach_drawing_object_to_window (WindowHandle, DrawID) ............. *对指定区域进行高度滤波 filter_surface_zdatas (Rectangle, imageReal, ImageReduced1, Region1, grayArray, rowArray, rolumnArray) filter_surface_zdatas (Rectangle1, imageReal, ImageReduced2, Region2, grayArray1, rowArray1, columnArray) *拟合指定区域的平面 方法1 fit_surface_regions (Region1, ImageReduced1, imageSurface) *输入已经拟合的平面 方法2 *IntensityImageToPiontsCloudImage (imageSurface, ScaleFactor, 1, 0, SampledObjectModel3D, ObjectModelPlane, zScale) *TransPose1 := [ Column-Length21, Row-Length11,d,0,0,0,0] *rigid_trans_object_model_3d (ObjectModelPlane, TransPose1, _ObjectModelPlane) stop() 谢谢您的信任~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值