图像拼接

部分业务场景下,相机视野无法覆盖实物整体,但需要用一张图像将实物整体显示出来。此时可移动实物,分别拍摄实物不同部位的图像,并将其通过图像拼接模块拼接为大图,用于后续的定位、测量、识别等应用。

本节内容包含:

模块原理

该模块的拼接功能分为硬拼接和模型拼接两种。硬拼接即将待拼接图像依次排列,此处不做赘述。

模型拼接算法的工作流程主要包括两个步骤,即建模和拼接。

说明:

以下步骤以“拼接两张图片”为例进行介绍。

步骤1:建模

  1. 从标定板提取角点(下图中的绿点)。

    每个角点都包含如下两类坐标信息:

    • 对应的图像上提取的像素坐标。

    • 由标定板上信息确定的物理坐标。

  2. 计算从物理坐标映射到图像坐标的映射关系,并基于该映射关系计算最终映射点的坐标。

    1. 假定两组标定板角点的图像坐标分别为,物理坐标分别为,那么可分别计算从物理坐标映射到图像坐标的关系H1和H2。 计算公式如下:

      图 1 物理坐标到图像坐标映射关系计算公式
    2. 由于的坐标系相同,将第二图像中的点映射到物理坐标系,再将映射到物理坐标系的点映射到第一图像中,得到最终映射点的坐标。

      计算公式如下,公式中H2-1表示H2的逆映射关系。

      建模阶段的核心工作即计算H1H2-1

步骤2:拼接

  1. 通过H1H2-1将第二张图像中所有的像素点全部映射到第一图像

  2. 与第一图像中的原始素点合并,得到最终拼接的图像。

使用方法

前后序模块

该模块的前序模块为图像源,后序模块可为识别、定位、测量、图像处理等模块。

主要配置步骤

在流程中调用图像拼接模块后,该模块的主要配置步骤如下。

  1. 执行一次流程,使图像拼接获取图像源输入的图像。

  2. 双击流程中的图像拼接,打开该模块的配置窗口,配置基本参数拼接模型(仅拼接类型设置为模型拼接需配置)、运行参数结果显示

  3. 单击执行,查看该模块的运行结果。

参数配置

以下仅介绍该模块的基本参数运行参数详情。

说明:

基本参数

  • 输入方式:分单来源多来源两种方式。

    • 单来源:选择一个图像源即可。对应单相机多次移动的业务场景。

    • 多来源:选择拼接数目个图像源。对应多相机固定位置采图的场景。

  • 拼接类型:可选模型拼接硬拼接模型拼接模式下,图像拼接通过拼接模型执行;硬拼接模式下,图像拼接直接执行。

  • 拼接数目:自定义需要拼接的图像数目。输入方式单来源时,运行次数达到本参数取值即可完成一次拼接;为多来源时,图像源个数应与拼接数目保持一致,单次运行完成拼接。

  • 拼接方式拼接类型选择模型拼接时才有该参数。A×B即A行B列图像。该参数配置会影响拼接模型里面的图像分布。

  • 拼接方向拼接类型选择硬拼接时才有该参数。可选X方向Y方向,定义拼接方向为“从左往后”或“从上往下”。

  • 输入图像输入方式设置为单来源时,选择一个图像源即可;设置为多来源时需选择的图像源个数与拼接数目取值一致。

  • 清空图像:清空当前已缓存的图像数据。

运行参数

表 1 运行参数

参数

描述

融合模式

拼接类型设置为模型拼接时需设置该参数。该参数选项包括均值融合最大值融合最小值融合以及接尾融合

  • 均值融合:默认方式,对重复区域取均值然后完成融合,通常效果较好

  • 最大值融合:获取重合图像的最大值,将其添加到拼接图像中。适用于拼接“中间亮、死角暗”的图像

  • 最小值融合:在重合图像区域中取最小值,将最小值添加到融合图像中

  • 接尾融合:对已完成拼接的图像不再进行重复拼接,仅处理未拼接的区域。适用于解决拼接中的重影现象,但图像连接处渐变性较差

剪裁参数

拼接类型设置为模型拼接时需设置该参数。

取值越大处理区域越少,模块运行耗时越少。取值范围0~25。适用于拼接重合较大的图像,可降低拼接重影

自动清空

自动填充互斥,只能启用其中一个

  • 如果启用,完成一次图像拼接后自动删除本次输入图像

  • 如果关闭,完成一次图像拼接并再次输入一张图像时,新输入的图像将替换之前拼接图像中的一张。

自动填充

自动清空参数互斥,只能启用其中一个。且仅在拼接类型选择硬拼接时有效。

  • 如果开启,获取的图像数量未达到预设的数量时,用全黑图像替代欠缺的图像进行拼接

  • 如果关闭,仅在待拼接图像达到预设数量时进行拼接

拼接模型

该模块基本参数中的拼接类型设置为模型拼接时,必须创建拼接模型方可进行图像拼接。

已准备海康标定板图像(I型和II型)。标定板图像的获取方式详情,请参见标定板生成工具

说明:

每一张标定板图像都需与待拼接图像一一对应;换言之,即需使用同一点位的相机拍摄相同位置的图像,保证创建的标定板空间位置关系模型与待拼接图像的模型一致。否则将导致图像拼接失败。

请参照如下步骤创建拼接模型。

  1. 在图像拼接配置窗口选择拼接模型页签。
  2. 单击新建模型,打开模板配置窗口。
  3. 在该窗口单击,导入标定板图像。
    说明:
    • 仅支持导入海康标定板的图像。

    • 请确保导入的图像无畸变。为了以防万一,建议标定板图像和待标定图像全部先进行畸变校正

  4. 可选操作: 如有需要,单击清空输入的图像。
  5. 按需配置拼接模型参数。
    标定板类型

    根据实际使用的标定板类型设置。可选海康标定板I型或II型

    灰度对比度

    标定板黑白格的对比度。当黑白格灰度值接近,即灰度对比度较低时,可设置较小取值。

    中值滤波状态

    开启后,对标定板进行中值滤波。

    亚像素窗口

    是否对计算角点亚像素精度的窗口尺寸进行自适应处理。当棋盘格每个方格占的像素较多时,可适当增加该值,建议使用默认值。

    一键替换参数

    将其它图像的标定参数全部替换为当前参数。

  6. 单击提取特征
    图 2 特征提取成功
  7. 可选操作: 单击拼接预览预览拼接图像。

    如果拼接图像效果欠理想,调整模型参数并再次预览,直至效果符合预期。

  8. 单击创建模型,完成模型创建并返回拼接模型页签。
  9. 可选操作: 拼接模型页签进行如下可选操作。
    选项 描述

    编辑模型

    单击编辑模型继续编辑模型。

    清空模型

    单击

    清空图像

    单击清空图像

    导出模型

    单击将当前模型导出至本地路径。

    导入模型

    单击从本地路径导入模型。

模块结果

该模块输出结果中各项参数详情,请参见图像拼接模块的输出结果