创建工程

下文以模板匹配为例,介绍如何创建工程。

模板匹配工具用于选择并训练图像模板,然后将该模板与目标图像进行对比,以寻找并定位目标图像中与模板相似的区域。

  1. 新建工程

  2. 添加图像源

  3. 进行图像转换

  4. 设置模板匹配工具

  5. 运行工具

新建工程

  1. 双击 Vision++ 桌面快捷方式,进入软件主页。

  2. 点击“新建工程”,在新建项目对话框中设置项目名称和存储位置,并点击“创建”。

添加图像源

对于许多视觉应用开发来说,首先需要添加图像源。用户可利用图像读取工具/图像序列读取工具来读取图片作为图像源,或者使用图漾相机工具来采集图像作为图像源。

本节以图像读取工具为例,介绍如何添加图像源:

  1. 双击或拖拽“工具箱/2D 工具”中的 图像读取工具,将其添加至工具块编辑区。

    PM-addimagesource

  2. 在工具块编辑区双击“ImageLoadTool”,进入图像读取工具设置页面。

    how-to-enter-settinginterface

  3. 点击icon-path,选择目标图像文件。

进行图像转换

模板匹配工具要求输入图像为灰度图,需通过图像转换工具将彩色图转换成灰度图。

  1. 双击或拖拽 “工具箱/2D 工具” 中的 图像转换工具,将其添加至工具块编辑区。

  2. 选择以下任意方式,为 ImageConvertTool 输入待转换的图像:

    • 右击 InputImage,选择“连接自”→“XXXTool. OutputImage”。

      connect-tools

    • 选中 ImageLoadTool 的输出终端 OutputImage 拖拽至 ImageConvertTool 输入终端 InputImage

    Note

    输入终端和输出终端的数据类型相同时才可以连接成功。

  3. 在工具块编辑区双击“ImageConvertTool”,进入 图像转换工具 页面。

    ImageConvertTool-interface

  4. 选择“运行模式”为“转换为灰度”。

  5. 根据需要设置图像转换区域。

    • 无-使用原图:使用整张输入图进行图像转换。

    • 矩形:使用矩形在输入图中框选目标区域进行图像转换。

      • 左上X/Y:矩形的左上角坐标 (X,Y)。

      • 宽度:矩形的宽度。

      • 高度:矩形的高度。

  6. 根据需要设置调整图像尺寸。

    • 不调整:不进行图像尺寸调整。

    • 指定尺寸:将图像的宽度调整至“图像宽度”设定值,将图像的高度调整至“图像高度”设定值。

    • 指定系数:将图像的宽度按照“缩放系数X”设定值缩放,将图像的高度按照“缩放系数Y”设置值缩放。

设置模板匹配工具

步骤 1:添加模板匹配工具并连接

  1. 双击或拖拽“工具箱/2D 工具”中的 模板匹配工具,将其添加至工具块编辑区。

  2. 选择以下任意方式,为 PM2dTool 输入图像:

    • 右击 InputImage,选择“连接自”→“XXXTool.OutputImage”。

      connect-tools

    • 选中 ImageConvertTool 的输出终端 OutputImage 拖拽至 PM2dTool 输入终端 InputImage

    Note

    输入终端和输出终端的数据类型相同时才可以连接成功。

  3. 点击icon-run,运行该工程。

步骤 2:创建模板并训练

  1. 在工具块编辑区双击 “PM2dTool”,进入模板匹配工具设置页面。

    PMAlignTool-interface

  2. 点击 “抓取训练图”。PM2dTool 自动复制输入的图像为 Train.Image 训练图。

  3. 设置训练区域。

    • 若需将整张 Train.Image 训练图作为训练区域,将“区域形状”设置为“无-使用整个图像”。

    • 若需将在 Train.Image 训练图中选择某个区域作为模板,将“区域形状”设置为“Rectangle”,并选择以下任意方式设置训练区域大小和位置。

      • 在页面左侧输入框中设置训练区域左上角坐标 (X,Y)、宽度和高度。

      • 点击“适应图像”,训练区域自动位于图像中央,大小与图像适应。

      • 在图像显示区的 Train.Image 中手动拖拽绿色矩形框到目标位置。

  4. 选择以下任意方式设置模板的锚点。

    • 在页面左侧输入框中设置锚点的坐标 (X,Y)。

    • 点击“中心锚点”,锚点自动位于图像中央。

    • 在图像显示区的 Train.Image 中手动拖拽“深蓝色+”到目标位置。

  5. 设置梯度幅度阈值。

    • 边缘检测时用到的参数,超过此阈值认为是边缘。

  6. 点击“训练”。

步骤 3:设置搜索区域

  • 若需选择整个输入图为搜索区域,则将搜索区域的“区域形状”设置为“无-使用整个图像”。

  • 若需选择输入图部分区域为搜索区域,则将搜索区域的“区域形状”设置为“RectangleAffine”并选择以下任意方式设置训练区域大小和位置。

    • 在页面左侧输入框中设置搜索区域左上角坐标 (X,Y)、宽度和高度。

    • 点击“适应图像”,搜索区域自动位于图像中央,大小与图像适应。

    • 在图像显示区的 Input.image 输入图中手动拖拽绿色方框至目标位置。

步骤 4:设置运行参数

根据实际情况设置运行参数。

  • 查找概数:指定查找目标大概的数量,此参数仅作运算时的参考值,不代表最终查找结果的个数。

  • 分数阈值:建议取 0.1~1 之间。匹配分数阈值设置越高,理论上匹配个数会下降,但匹配质量会明显上升。

  • 匹配角度:匹配目标相对于模板的旋转角度。在 [下界 , 上界] 角度范围进行模板匹配。

  • 匹配尺度:匹配目标相对于模板的缩放倍数。在 [下界 , 上界] 尺寸范围进行模板匹配。

步骤 5:设置图形显示

  • 若需在输入图中显示识别结果的锚点,勾选“显示锚点”。

  • 若需在输入图中显示匹配区域,勾选 “显示匹配区域”。

运行工具

点击模板匹配工具设置页面的icon-run,运行该工具。

匹配成功的结果在输入图中用黄色矩形框高亮显示。

结果栏显示对应匹配结果数据。

  • ID:匹配结果 ID 号。

  • 分数:匹配分数区间 (0 , 1.0]。分数越大,匹配程度越高。

  • 尺度:匹配结果相对于模板的缩放倍数。

  • 角度:匹配结果相对于模板的旋转角度。

  • 锚点X/Y:对应匹配结果的锚点坐标。

  • X/Y:匹配结果的左上角坐标 (X,Y)。

  • 宽度/高度:匹配结果的宽度和高度。

  • 精细度:算法匹配精细程度。精细度区间 (0 , 1.0]。值小于 1,表明当前匹配结果是采用粗略匹配得到的。值越小,匹配程度越粗略。