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个

相关推荐

  1. HTTPS 加密流程

    2024-07-13 11:40:01       27 阅读
  2. 等保测评机构选择与测评委托流程

    2024-07-13 11:40:01       27 阅读
  3. Electron桌面应用开发:从入门到发布流程

    2024-07-13 11:40:01       37 阅读
  4. Flutter 启动流程

    2024-07-13 11:40:01       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 11:40:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 11:40:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 11:40:01       58 阅读
  4. Python语言-面向对象

    2024-07-13 11:40:01       69 阅读

热门阅读

  1. 【2024暑期实习】接到新需求该如何做?

    2024-07-13 11:40:01       23 阅读
  2. MATLAB中Simulink.exportToTemplate用法

    2024-07-13 11:40:01       23 阅读
  3. C#面:中间件的使用场景有哪些?

    2024-07-13 11:40:01       21 阅读
  4. vue3 学习笔记08 -- computed 和 watch

    2024-07-13 11:40:01       24 阅读
  5. R语言学习笔记6-数据框

    2024-07-13 11:40:01       20 阅读
  6. 菜鸡的原地踏步史07(◐‿◑)

    2024-07-13 11:40:01       18 阅读
  7. C++ 基础练习 - 第一章(英文版)

    2024-07-13 11:40:01       19 阅读
  8. 深入解析BeautifulSoup:Python网页抓取的瑞士军刀

    2024-07-13 11:40:01       21 阅读