跳转到内容

校准vTool#

Calibration vTool 允许您校准相机,以便将像素坐标转换为世界坐标。

您可以使用 Calibration vTool 作为预处理步骤,然后使用 Geometric Pattern Matching vToolRegion Feature Extraction vTool 或 Measurements vTools 等工具。如果您已校准相机,任何后续工具都将输出像素坐标以及世界坐标(以米为单位)。

校准vTool

Calibration vTool 版本#

有两个版本的 Calibration vTool 可用。下表显示了版本之间的差异。

Basic Pro
您是否可以在不同的畸变模型之间进行选择?
您是否可以在不同的投影模型之间进行选择?

运作原理#

根据安装在相机上的镜头,原始图像会出现一定程度的径向失真。此外,如果不进行校准,您进行的任何测量都仅参考图像中的像素坐标。

使用 Calibration vTool 具有以下优点:

  • 校准过程会生成 transformation data,将其应用于原始图像以消除失真影响。
    结果是图像看起来像是由理想的线性针孔相机拍摄的,即目标场景中的直线作为直线投影到图像上。
  • Rectification 消除透视失真。
    如果使用广角镜头,或者相机没有垂直指向放置待检测物体的测量平面,就会出现透视失真。
    例如,如果相机的观察方向是倾斜的,则相机会将现实世界中的一个正方形视为一般的四边形,其中相对的边不平行,而是在消失点相交。
    因此,如果机械设置不允许您垂直于检测平面安装相机,相机校准将确保图像得到校正,看起来像物体的真实再现。
  • 校准在以像素为单位的图像坐标和以米为单位的世界坐标之间建立 relation
    这样,诸如测量现实世界中的距离或确定机器人的抓取位置这样的任务就可以解决了。
  • 在使用 Calibration ProvTool 时,您可以在不同的畸变模型和投影模型中进行选择。这会让校准变得更加精确或具体,因为它可以让您考虑应用类型和正在使用的镜头。

校准过程#

步骤 1:准备#

校准板#

Calibration vTool 允许您针对单个测量平面校准相机。这需要校准板。Calibration vTool 开箱即用,提供不同的校准板尺寸。它们位于 Calibration plate 下拉列表中。

根据相机的视野选择校准板的尺寸。如果您的目标场景包括整个视野,校准板应该或多或少地覆盖整个图像区域。

在大多数情况下,校准板最好比图像区域稍大一些。为了获得最佳校准结果,您应确保校准板的点标记覆盖整个图像区域。如果目标场景仅包含整个视野的一部分,则只需覆盖该特定区域的校准板。

要创建您的校准板,请打印所提供的模板之一,并将其粘贴到坚固、平坦、平整的表面上,例如厚纸板或铝板。对于一般应用或评估目的,标准打印机或绘图仪的打印精度可能就足够了。

畸变模型(仅限 Pro 版本)#

通过选择适合您应用的畸变模型,您可以生成更精确的转换数据来校正畸变效应。有两种模型可供选择:

  • 除法:该模型适用于大多数应用,尤其是机械手或零件定位应用。由于它只使用一个系数来模拟畸变,因此该模型非常稳定,并且能获得良好的结果。
  • 多项式:该模型可获得更准确的校准结果。它适用于测量应用或镜头畸变较严重的情况。有五个系数可用于模拟畸变。

投影模型(仅限 Pro 版本)#

选择投影模型可让您考虑所使用的镜头类型。有两种型号可供选择:

  • 透视:建议在使用近心镜头时使用此模型。
  • 平行:建议在使用远心镜头时使用此模型。

要执行步骤 1,请转至配置 vTool

步骤 2:相机校准#

在此步骤中,您将获取校准板的图像。您可以使用相机抓取实时图像或从磁盘加载图像。实时图像非常有用,因为它们允许您动态移动校准板以找到适合您的测量的位置。校准板的上表面定义了测量平面。

信息

校准相机只能在 single world plane 中进行测量。此世界平面由校准板定义。如果您的应用程序设置发生变化,您需要重新校准相机。

您要测量的物体必须位于或接近这个平面。因此,被检测的物体必须是平的或高度较低的。或者,您必须确保校准板的上表面与物体表面处于同一高度。

如果相机垂直于测量平面,并且镜头具有较小的张角,则可以忽略由位于测量平面之外的物体引起的误差。只有当测量平面与相机观察方向之间的角度倾斜时,位置或距离的测量误差才会显著。

在这种情况下,Basler 建议将对象之间的高度变化限制在相对于对象距离的 1%-5% 之间。

获取图像后,校准过程立即开始,结果显示在图像区域下方。

以绿色突出显示的标记是在图像中检测到的标记。红色标记是校准过程未检测到的标记。此外,还显示了世界坐标系的原点。

信息

世界坐标系的位置和方向编码在校准板图案及其描述中。您无法改变这一点。如果您想根据应用程序的需要调整世界坐标系,请使用机器校准步骤来执行此操作。

要执行步骤 2,请转至配置 vTool

步骤 3:机器校准#

机器校准是 optional 步骤,您可以在该步骤中将视觉系统的世界坐标系与视觉系统所属机器的坐标系对齐。例如,基于公共坐标系,机器人可以在视觉系统确定的位置拾取物体。

如果相机校准已经足够,并且您的应用程序不需要对齐的世界坐标系,您可以在此结束校准过程。

注意事项#

为了定义机器坐标系,使用两个标记来定义坐标系中的两个点:P1 和 P2。为了成功校准机器,必须了解机器坐标平面和校准板平面之间的关系。有两种选择:

  • Both planes are identical.
    在这种情况下,您可以将标记放置在校准板的任意位置,以定义您自己的机器坐标系。了解标记的机器和图像坐标定义了一个转换,允许您将测量的图像点转换为机器坐标。
  • The planes are parallel to each other.
    有时不可能或不希望有相同的机器和校准平面。或者,机器平面可以与校准平面处于不同的高度。然而,两个平面必须始终相互平行。

    信息

    只有当相机垂直指向测量平面时,才建议使用这种设置。实际上,观察方向可能偏离理想配置几度。

    如果观察方向倾斜于校准板,机器平面必须至少靠近校准平面。否则,会发生系统误差,对于具有更宽的张角和更倾斜视角的透镜,这种误差会更大。

方法#

提供三种用于定义机器坐标系的标记的方法。

使用 Aztec 代码自动校准#

Aztec 代码非常适合对有关坐标位置的信息进行编码,以及为图像中的位置检测提供良好的视觉标记。

对于此方法,您生成并打印两个以毫米为单位对位置进行编码的 Aztec 代码:

  • 例如,一个代码用于对坐标系原点的位置进行编码:“0 0”
  • 第二个代码对坐标系 x 轴上的第二个点进行编码,例如距离第一个代码 50 mm:“50 0”
    编码位置的符号是“point_coordinate_x point_coordinate_y”。

系统将检测图像中 Aztec 代码的位置,并将其世界位置与代码的解码内容相关联。

信息

Aztec 代码的中心定义了标记在世界坐标中的位置。

标记之间的距离必须正好是由编码位置定义的值。

使用 Aztec 代码手动校准#

在此方法中,代码是通用的,可以包含您喜欢的任何信息,例如,一个短字符串。这使得打印过程更容易,因为两个代码可以相同。更重要的是,这意味着代码可以放置在任意位置。只需选择要注册为机器坐标的位置即可。

对于机器人应用程序,请按以下步骤进行:放置代码并使用安装在机器人手上的合适接触式探头测量它们的位置。然后,获取图像并将机器人注册的坐标输入到 World Coordinates 输入字段中。

完全手动校准#

此方法使您可以灵活地输入世界坐标和图像坐标中两个点的坐标。与上述方法一样,世界坐标是已知的或从您的系统中注册的,并输入到 World Coordinates 输入字段中。您可以根据需要通过将图像中的 P1 和 P2 十字标线拖动到所需的目标位置来调整图像坐标。

完全手动方法在两种主要场景下有用:

  • 您可以使用任何可以注册的标记,例如圆的中心、矩形的角点,甚至是在一张纸板上快速绘制的十字。
  • 您可以在机器设计中包括标记。这样,标记的位置是固定的,并且总是已知的。例如,标记可以是小孔或合适的基准标记。

    信息

    如果机器有固定标记,您必须放置校准板,使两个标记的距离相同。

要执行步骤 3,请转至配置 vTool

常见用例#

几何图案匹配#

如果您使用校正后的图像,您的匹配结果会更准确。原因是平面物体看起来是一样的,与它在测量平面上的位置无关,因为消除了镜头畸变或透视畸变。

此外,校准过程产生的转换数据使 Geometric Pattern Matching vTool 能够输出图案中心的世界坐标。

Region Feature Extraction#

Region Feature Extraction vTool 计算区域的特征,例如面积或重心,并允许您提取它们。使用校准设置允许您将特征(例如坐标、长度或面积)转换为测量单位(例如米或平方米)。

测量#

Measurements Basic vTool 以高精度确定边缘的位置或边缘之间的距离。如果您使用 Calibration vTool 进行预处理,则可以防止镜头畸变和透视畸变。此外,您将能够以公制测量单位获得结果(坐标和距离)。

信息

要充分利用 Calibration vTool,请确保其输出引脚(ImageTransformation)正确连接到所有后续 vTools。

Measurements Pro vTools 以类似的方式工作,但允许您测量完整的几何形状。

配置 vTool#

要配置 Calibration vTool:

  1. 配方管理 窗格(位于 vTool 设置 区域)中,单击 打开设置 或双击 vTool。
    即: Calibration Basic/Pro 对话框即在步骤 1 中打开。
    有关更多信息,请参阅 步骤 1:准备.
    Calibration vTool 设置 - 步骤 1

  2. Calibration plate 下拉列表中,选择要使用的板尺寸。

  3. 如果您还没有实际板,请单击 Print 按钮打印所需的板。

  4. 选择畸变模型投影模型(仅限 Pro 版本)。

  5. 单击 下一步.
    步骤 2: 校准 对话框即打开。
    有关更多信息,请参阅 步骤 2:相机校准.
    vTool 设置 - 步骤 2

  6. 将校准板放在要测量的图像位置。
    校准板的上表面定义了测量平面。

  7. 拍摄或打开图像。
    使用单拍按钮来拍摄实时图像或单击打开图像按钮以打开现有图像。
    加载图像后,校准过程立即开始。完成后,结果将显示在图像区域下方。如果校准过程成功,图像区域下方会出现一个绿色复选标记。

    信息

    用于校准的图像尺寸必须与处理后的图像尺寸相同。

  8. 检查结果表以查看您的要求是否得到满足。
    校准结果
    您可以使用箭头按钮隐藏表格。如果这样做,图像区域会扩大,从而更容易检查图像细节。
    隐藏校准结果表

  9. 单击 Next
    Calibration 对话框的步骤 3 即打开。
    有关更多信息,请参阅步骤 3:机器校准

  10. 如果要校准机器,请单击工具栏右端的 启用机器校准 按钮。
    当您只想完成相机校准时,如果要离开设置对话框,请单击 确定.
    启用 Calibration vTool 设置 - 步骤 3

  11. Decide which method you want to use to define the machine's coordinate system.

    • 使用 Aztec 代码自动校准:

      1. 生成两个 Aztec 代码,其中编码了坐标系中的两个不同位置(通常是坐标系的原点和另一个位置)。

      2. 打印 Aztec 代码。

      3. 将两个 Aztec 代码放在世界或机器坐标系的确切位置。

      4. 选中 Use Aztec code coordinates 复选框。

      5. 拍摄或打开图像。
        使用单拍按钮来拍摄实时图像或单击打开图像按钮以打开现有图像。
        加载图像后,校准过程立即开始。完成后,结果将显示在图像区域下方。如果校准过程成功,图像区域下方会出现一个绿色复选标记。Aztec 代码通过图像中的十字标线可视化,世界坐标系的原点也可视化。

      6. 检查结果表以查看您的要求是否得到满足。

      7. 如果要根据机器的坐标系定义 z 轴的方向,请选中 反转轴 复选框。
        机器校准 - 使用 Aztec 代码自动校准

    • 使用 Aztec 代码手动校准:

      1. 生成两个 Aztec 代码,其中编码了一个通用字符串。
        字符串可以完全相同,在这种情况下,您只需生成一个 Aztec 代码并打印两份。

      2. 打印 Aztec 代码。

      3. 将 Aztec 代码放在图像区域中方便的位置。

      4. 测量 Aztec 代码在世界坐标中的位置。

      5. 清除 Use Aztec code coordinates 复选框。

      6. 拍摄或打开图像。
        使用单拍按钮来拍摄实时图像或单击打开图像按钮以打开现有图像。

      7. Enter the coordinates for P1 and P2 in the respective World Coordinates input fields.

      机器校准 - 使用 Aztec 代码手动校准

    • 完全手动校准:

      1. 清除 Use Aztec code coordinates 复选框。

      2. 将 P1 和 P2 的世界坐标输入到相应的输入字段中。
        它们要么是已知的(因为它们已按设计予以固定),要么是您必须测量的。

      3. 要指定 P1 和 P2 图像坐标,请将图像区域中的十字标线拖动到所需位置。

      机器校准 - 完全手动校准

您可以在引脚数据视图中查看校准的结果。在这里,您可以选择要显示的输出。

输入#

图像#

直接从 Camera vTool 或从输出图像的 vTool(例如 Image Format Converter vTool)接受图像。

  • 数据类型:图像
  • 图像格式:8 位到 16 位单色或彩色图像(请参阅支持的 Pixel Format

输出#

图像#

返回校正后的图像。任何接受图像作为输入的 vTool 都可以使用输出图像。

转型#

返回将校正后图像的像素坐标转换为世界坐标的转换数据。任何接受转换数据作为输入的工具都可以使用转换数据来确定一组像素坐标的世界坐标。

  • 数据类型:转换数据

支持的 Pixel Format#

根据输入图像的 Pixel Format,Calibration vTool 输出以下 Pixel Format:

输入 Pixel Format 输出 Pixel Format
Bayer GR 8 RGB 8 Planar
Bayer GR 16 RGB 16 Planar
Bayer RG 8 RGB 8 Planar
BGRA 8 Packed RGB 8 Planar
BGR 8 Packed RGB 8 Planar
Mono 8 Mono 8
Mono 10 Mono 10
Mono 12 Mono 12
Mono 16 Mono 16
RGB 8 Packed RGB 8 Planar
RGB 16 Packed RGB 16 Planar
RGB 8 Planar RGB 8 Planar
RGB 16 Planar RGB 16 Planar

典型前置项#

典型后置项#