40.2、Halcon相机标定模型

一、面扫描非远心Division模型

CameraType: 'area_scan_division'

CameraParam: [Focus, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]

  1. SxSy可以通过相机资料中查询到,把查询到的像元尺寸填入即可。图中标注1的地方表示Sx

    Sy按照1:1的关系关联,同步调节。因为面阵相机的像元一般是正方形。宽和高是一样的。如果取消,那么SxSy可以一步调节。

  2. Focus:镜头的焦距,通过镜头资料可以查询,一般镜头上也标注有焦距。
  3. Kappa:径向畸变,初始值设置为0
  4. Cx, Cy:中心坐标,设置为自动即可,在运行时,会自动初始化为图像宽度高度的一半。如果用户自定义设置,通常把初始值设置为图像宽、高的一半。
  5. ImageWidth, ImageHeight为图像宽度和高度。标定助手会自动把初始值设置为图像宽度和高度,因此没有开放设置接口。

二、面扫描非远心,Polynomial多项式模式

CameraType: 'area_scan_division'

CameraParam: [Focus, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]

1SxSy可以通过相机资料中查询到,把查询到的像元尺寸填入即可。图中标注1的地方表示Sx

Sy按照1:1的关系关联,同步调节。因为面阵相机的像元一般是正方形。宽和高是一样的。如果取消,那么SxSy可以一步调节。

  1. Focus:镜头的焦距,通过镜头资料可以查询,一般镜头上也标注有焦距。
  2. K1K2K3径向畸变多项式系数,初始值设置为0.
  3. Cx, Cy:中心坐标,设置为自动即可,在运行时,会自动初始化为图像宽度高度的一半。如果用户自定义设置,通常把初始值设置为图像宽、高的一半。

5、ImageWidth, ImageHeight为图像宽度和高度。标定助手会自动把初始值设置为图像宽度和高度,因此

没有开放设置接口。

三、面扫描远心Divisin模型

CameraType: 'area_scan_telecentric_division'

CameraParam: [0, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]

1SxSy可以通过相机资料中查询到,把查询到的像元尺寸填入即可。图中标注1的地方表示Sx

Sy按照1:1的关系关联,同步调节。因为面阵相机的像元一般是正方形。宽和高是一样的。如果取消,那么SxSy可以一步调节。

  1. 勾了远心镜头模式,镜头的焦距强制设置为0,所以在远心模式下,焦距无法改变。
  2. Kappa:径向畸变,初始值设置为0
  3. Cx, Cy:中心坐标,设置为自动即可,在运行时,会自动初始化为图像宽度高度的一半。如果用户自

义设置,通常把初始值设置为图像宽、高的一半。

  1. ImageWidth, ImageHeight为图像宽度和高度。标定助手会自动把初始值设置为图像宽度和高度,因

此没有开放设置接口

:

在实际使用时,面扫描远心Division模型标定后得到的单个像素元的宽度和高度和初始化的相机像元初始化参数差别很大。

 

 

        用标定板对标定后的数据做二位测量,发现测量结果与标定板上的理论坐标距离相符合,说明这属于正常情

况。远心镜头是平行光路,等效于焦点在无穷远的地方,焦距无穷大。如果想让标定前后的像元尺寸相符,可以取消勾选"远心",然后把焦距设置一个极大值。如100000。这时再标定。标定前后的像元差别几乎一样。

四、面扫描远心,Polynomial多项式模式

CameraType: 'area_scan_telecentric_polynomial':

CameraParam: [0, K1, K2, K3, P1, P2, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]

1SxSy可以通过相机资料中查询到,把查询到的像元尺寸填入即可。图中标注1的地方表示Sx

Sy按照1:1的关系关联,同步调节。因为面阵相机的像元一般是正方形。宽和高是一样的。如果取消,那么SxSy可以一步调节。

  1. 勾了远心镜头模式,镜头的焦距强制设置为0,所以在远心模式下,焦距无法改变。
  2. K1K2K3径向畸变多项式系数,初始值设置为0.
  3. Cx, Cy:中心坐标,设置为自动即可,在运行时,会自动初始化为图像宽度高度的一半。如果用户自定义设置,通常把初始值设置为图像宽、高的一半。

5、ImageWidth, ImageHeight为图像宽度和高度。标定助手会自动把初始值设置为图像宽度和高度,因此没有开放设置接口。

注:

在实际使用过程中,按照以上参数设置。找到的Mark点中心和Mark点真实中心偏差很大。如下图,蓝色点的是标定时找到的,发现实际的Mark点圆心差很远

解决办法:取消小勾选远心。然后把焦距设置一个极大值。如100000。这时再标定。这时就正常了。

五、线扫模型

CameraType: 'line_scan':

CameraParam: [Focus, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight, Vx, Vy, Vz]

1SxSy可以通过相机资料中查询到,把查询到的像元尺寸填入即可。图中标注1的地方表示Sx

Sy按照1:1的关系关联,同步调节。因为面阵相机的像元一般是正方形。宽和高是一样的。如果取消,那么SxSy可以一步调节。

  1. Focus:镜头的焦距,通过镜头资料可以查询,一般镜头上也标注有焦距。
  2. Kappa:径向畸变,初始值设置为0
  3. Cx, Cy:中心坐标,设置为自动即可,在运行时,会自动初始化为图像宽度高度的一半。如果用户自定义设置,通常把初始值设置为图像宽、高的一半。
  4. ImageWidth, ImageHeight为图像宽度和高度。标定助手会自动把初始值设置为图像宽度和高度,因此没有开放设置接口。
  5. VX:X方向移动速度,初始值设置为0
  6. VY:Y方向移动速度,初始值设置为摄像机和物体的相对速度。
  7. VZ:Z方向移动速度,初始值设置为0

这些参数也可从文件导入:

 

附:

 

  1. HDevelop自带的标定助手:

  1. 当选择全标定时,会标定位姿和所有的相机参数;选择用户自定义时,会标定用户选择的位姿和相机参数。

    注:选择了"用户自定义"选项,并把所有相机参数都勾选时,等效于"全标定"选项。

 

 

 

 

 

 

 

 

 

 

posted @ 2022-05-31 23:49  ihh2021  阅读(1762)  评论(0编辑  收藏  举报